The Gaudi Framework
master (37c0b60a)
EventIDBase.cpp
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
20
#include <
GaudiKernel/EventIDBase.h
>
21
22
#include <limits>
23
24
const
EventIDBase::number_type
EventIDBase::UNDEFNUM
=
std::numeric_limits<EventIDBase::number_type>::max
();
25
const
EventIDBase::event_number_t
EventIDBase::UNDEFEVT
=
std::numeric_limits<EventIDBase::event_number_t>::max
();
26
27
EventIDBase::EventIDBase
(
number_type
run_number,
event_number_t
event_number,
number_type
time_stamp,
28
number_type
time_stamp_ns_offset,
number_type
lumi_block,
number_type
bunch_crossing_id )
29
: m_run_number( run_number )
30
, m_event_number( event_number )
31
, m_time_stamp( time_stamp )
32
, m_time_stamp_ns_offset( time_stamp_ns_offset )
33
, m_lumi_block( lumi_block )
34
, m_bunch_crossing_id( bunch_crossing_id ) {
35
if
(
m_run_number
!=
UNDEFNUM
&&
m_event_number
!=
UNDEFEVT
)
setRE
();
36
37
if
(
m_time_stamp
!=
UNDEFNUM
) {
38
setTS
();
39
if
(
m_time_stamp_ns_offset
==
UNDEFNUM
)
m_time_stamp_ns_offset
= 0;
40
}
41
42
if
(
m_lumi_block
!=
UNDEFNUM
&&
m_event_number
!=
UNDEFEVT
)
setLE
();
43
44
if
(
m_run_number
!=
UNDEFNUM
&&
m_lumi_block
!=
UNDEFNUM
)
setRL
();
45
}
46
47
EventIDBase::EventIDBase
(
std::tuple<number_type, number_type, event_number_t>
run_lumi_ev,
48
std::tuple<number_type, number_type>
time_stamp,
number_type
bunch_crossing_id )
49
:
EventIDBase
(
std
::
get
<0>( run_lumi_ev ),
// run number
50
std
::
get
<2>( run_lumi_ev ),
// event number
51
std
::
get
<0>( time_stamp ),
// timestamp in seconds
52
std
::
get
<1>( time_stamp ),
// nanoseconds offst
53
std
::
get
<1>( run_lumi_ev ),
// lumi block
54
bunch_crossing_id ) {}
EventIDBase::event_number_t
uint64_t event_number_t
Definition:
EventIDBase.h:69
EventIDBase::m_time_stamp_ns_offset
number_type m_time_stamp_ns_offset
time stamp ns - ns time offset for time_stamp, 32 bit unsigned
Definition:
EventIDBase.h:202
EventIDBase::m_run_number
number_type m_run_number
run number
Definition:
EventIDBase.h:193
EventIDBase::setLE
void setLE()
Definition:
EventIDBase.h:189
EventIDBase::EventIDBase
EventIDBase()
Definition:
EventIDBase.h:79
GaudiPartProp.decorators.get
get
decorate the vector of properties
Definition:
decorators.py:283
std::tuple
EventIDBase::UNDEFEVT
static const event_number_t UNDEFEVT
Definition:
EventIDBase.h:72
EventIDBase::UNDEFNUM
static const number_type UNDEFNUM
Definition:
EventIDBase.h:71
EventIDBase::m_lumi_block
number_type m_lumi_block
luminosity block number: the number which uniquely tags a luminosity block within a run
Definition:
EventIDBase.h:206
EventIDBase::m_event_number
event_number_t m_event_number
event number
Definition:
EventIDBase.h:196
EventIDBase::number_type
unsigned int number_type
Definition:
EventIDBase.h:68
EventIDBase.h
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
EventIDBase::setRL
void setRL()
Definition:
EventIDBase.h:190
std
STL namespace.
EventIDBase::setRE
void setRE()
Definition:
EventIDBase.h:187
EventIDBase
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
Definition:
EventIDBase.h:66
EventIDBase::setTS
void setTS()
Definition:
EventIDBase.h:188
std::numeric_limits::max
T max(T... args)
EventIDBase::m_time_stamp
number_type m_time_stamp
posix time in seconds since 1970/01/01
Definition:
EventIDBase.h:199
GaudiKernel
src
Lib
EventIDBase.cpp
Generated on Thu Dec 19 2024 15:35:03 for The Gaudi Framework by
1.8.18