ATLAS Offline Software
IOVInfiniteRange.h
Go to the documentation of this file.
1 //Dear emacs this is -*-c++-*-
2 /*
3  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef ATHENAKERNEL_IOVINFINITERANGE
7 #define ATHENAKERNEL_IOVINFINITERANGE
8 
9 #include "GaudiKernel/EventIDRange.h"
10 
11 
12 //Unfortunatly, EventIDBase doesn't qualify for constexpr
13 
19 public:
21  static EventIDRange infiniteRunLB();
22 
24  static EventIDRange infiniteTime();
25 
27  static EventIDRange infiniteMixed();
28 };
29 
30 
31 //UNDEFNUM/UNDEFEVT are the maximum value of the variable in question. They denote invalidity.
32 //UNDEFNUM-1 is are the largest value that is considered valid, so "infinity" in our sense.
33 
34 //We don't care about the BCID, set them to 0
35 //We do not use the event-number to limit IOV-Ragnes (only Run/LB). So the event-number is always invalid
36 
37 
38 inline
40 // Run Event time time_ns LumiBlock BCID
41  const EventIDBase start {0 , EventIDBase::UNDEFEVT , EventIDBase::UNDEFNUM, EventIDBase::UNDEFNUM, 0 ,0};
42  const EventIDBase stop {EventIDBase::UNDEFNUM-1, EventIDBase::UNDEFEVT , EventIDBase::UNDEFNUM, EventIDBase::UNDEFNUM, EventIDBase::UNDEFNUM-1,0};
43  return EventIDRange{start,stop};
44 }
45 
46 inline
48 // Run Event time time_ns LumiBlock BCID
49  const EventIDBase start {EventIDBase::UNDEFNUM, EventIDBase::UNDEFEVT, 0 , 0 , EventIDBase::UNDEFNUM, 0};
50  const EventIDBase stop {EventIDBase::UNDEFNUM, EventIDBase::UNDEFEVT, EventIDBase::UNDEFNUM-1, EventIDBase::UNDEFNUM-1, EventIDBase::UNDEFNUM, 0};
51  return EventIDRange{start, stop};
52 }
53 
54 inline
56 // Run Event time time_ns LB BCID
57  const EventIDBase start {0 , EventIDBase::UNDEFEVT, 0 ,0 , 0 ,0};
58  const EventIDBase stop {EventIDBase::UNDEFNUM-1, EventIDBase::UNDEFEVT, EventIDBase::UNDEFNUM-1, EventIDBase::UNDEFNUM-1, EventIDBase::UNDEFNUM-1,0};
59  return EventIDRange{start,stop};
60 }
61 
62 #endif
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
IOVInfiniteRange::infiniteMixed
static EventIDRange infiniteMixed()
Produces an mixed EventIDRange that is infinite in Time and RunLumi.
Definition: IOVInfiniteRange.h:55
PixelModuleFeMask_create_db.stop
int stop
Definition: PixelModuleFeMask_create_db.py:76
IOVInfiniteRange::infiniteRunLB
static EventIDRange infiniteRunLB()
Produces an EventIDRange that is infinite in RunLumi and invalid in Time.
Definition: IOVInfiniteRange.h:39
IOVInfiniteRange
Collection of static functions providing infinite EventIDRanges.
Definition: IOVInfiniteRange.h:18
IOVInfiniteRange::infiniteTime
static EventIDRange infiniteTime()
Produces an EventIDRange that is inifinite in Time and invalid in RunLumi.
Definition: IOVInfiniteRange.h:47