Suppose we have calibrations that really do change with out correspondance to runs. We no longer can apply our restriction on the database! Can we still handle them?
For example as in Figure 10.
The above case has calibration that change rarely. Thanks to our restriction on queries, we have no problem with analysing run2 and run4, but run1 and run3 have a problem.
Another example is in Figure 11.
Here the calibrations change faster than run numbers and we have a problem similar to the one in the previous example with run1 and run3.
As we have already talked about it, this could be handled by making
database queries on an event-by-event basis. If such
getData() calls have
,
the queries
cannot be bad by definition bacause they cannot overlap two validity
intervals. Since one does not want to make database accesses for each
event, the database manager could pre-fetch all the calibrations
nto memory and when getData() is called
for each event, search for the right calibrations in this memory cache
and return the right data without any database accesses.