Validity Time
In the COOL API and relational implementation,
,
intervals of validity are defined using two values (
IOV_SINCE
,
IOV_UNTIL
)
marking the start and the end of each IOV.
COOL stores and manages these values as 64-bit unsigned integers,
but makes no assumption on the meaning of the values stored:
it is up to the users to decide what convention is best suited
to describe the validity axis of any given data item
(e.g. time stamps, run numbers or event numbers).
If time stamps are needed, the range of the unsigned 64-bit integer data type
is large enough to allow the storage of time stamps with nanosecond precision.
(the time interval between two subsequent bunch crossings
of the LHC beams being 25 nanoseconds).
In the following, we will use the term "validity time"
even if the convention chosen uses a quantity
that is not an actual time stamp (e.g. a run number).
While a single validity time can be specified for data lookup,
both the start and the end of the IOV must be specified
when a conditions data object is stored into COOL.
Alternatively, it is also possible to store an object
by specifying only the start of its IOV:
in this case, the end of the IOV is initially set to "+infinity",
but is later changed to be equal to the start of the IOV
of the next object inserted in the same channel.
This storage mode is particularly useful
for single-version DCS data such as temperatures,
whose value is assumed to be constant
until a new more recent measurement is taken.
--
AlexLoth - 16-Dec-2009