ATLAS Offline Software
Loading...
Searching...
No Matches
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
19public:
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
38inline
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
46inline
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
54inline
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
Collection of static functions providing infinite EventIDRanges.
static EventIDRange infiniteRunLB()
Produces an EventIDRange that is infinite in RunLumi and invalid in Time.
static EventIDRange infiniteTime()
Produces an EventIDRange that is inifinite in Time and invalid in RunLumi.
static EventIDRange infiniteMixed()
Produces an mixed EventIDRange that is infinite in Time and RunLumi.