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 \***********************************************************************************/
21 
22 #include <limits>
23 
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 ) {
36 
37  if ( m_time_stamp != UNDEFNUM ) {
38  setTS();
40  }
41 
43 
45 }
46 
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