The Gaudi Framework
v41r0 (bdbe7744)
Toggle main menu visibility
Loading...
Searching...
No Matches
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
\***********************************************************************************/
19
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.h
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
EventIDBase::lumi_block
number_type lumi_block() const
luminosity block identifier, 32 bit unsigned
Definition
EventIDBase.h:103
EventIDBase::UNDEFEVT
static const event_number_t UNDEFEVT
Definition
EventIDBase.h:71
EventIDBase::m_bunch_crossing_id
number_type m_bunch_crossing_id
bunch crossing ID, 32 bit unsigned
Definition
EventIDBase.h:208
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:205
EventIDBase::run_number
number_type run_number() const
run number - 32 bit unsigned
Definition
EventIDBase.h:91
EventIDBase::time_stamp_ns_offset
number_type time_stamp_ns_offset() const
time stamp ns - ns time offset for time_stamp, 32 bit unsigned
Definition
EventIDBase.h:100
EventIDBase::setRL
void setRL()
Definition
EventIDBase.h:189
EventIDBase::setTS
void setTS()
Definition
EventIDBase.h:187
EventIDBase::m_event_number
event_number_t m_event_number
event number
Definition
EventIDBase.h:195
EventIDBase::event_number_t
uint64_t event_number_t
Definition
EventIDBase.h:68
EventIDBase::setRE
void setRE()
Definition
EventIDBase.h:186
EventIDBase::EventIDBase
EventIDBase()
Definition
EventIDBase.h:78
EventIDBase::m_run_number
number_type m_run_number
run number
Definition
EventIDBase.h:192
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:201
EventIDBase::m_time_stamp
number_type m_time_stamp
posix time in seconds since 1970/01/01
Definition
EventIDBase.h:198
EventIDBase::number_type
unsigned int number_type
Definition
EventIDBase.h:67
EventIDBase::setLE
void setLE()
Definition
EventIDBase.h:188
EventIDBase::bunch_crossing_id
number_type bunch_crossing_id() const
bunch crossing ID, 32 bit unsigned
Definition
EventIDBase.h:106
EventIDBase::UNDEFNUM
static const number_type UNDEFNUM
Definition
EventIDBase.h:70
EventIDBase::event_number
event_number_t event_number() const
event number - 64 bit unsigned
Definition
EventIDBase.h:94
EventIDBase::time_stamp
number_type time_stamp() const
time stamp - posix time in seconds from 1970, 32 bit unsigned
Definition
EventIDBase.h:97
std
STL namespace.
GaudiKernel
src
Lib
EventIDBase.cpp
Generated on
for The Gaudi Framework by
1.17.0