Resolve "Incorrect IOV range of dd4hep condition pool"
In #37 (closed) I mentioned that there's a discrepancy between the ways DD4hep and LHCb (including GitCondDB) treat IOVs boundaries. In particular DD4hep includes the upper bound of the IOV while LHCb does not include it, which means that two contiguous IOVs look different in the two cases, for example:
- LHCb: 100-200, 200-inf
- DD4hep: 100-199, 200-inf
Not entering the rationales of the two conventions, we have to deal with what DD4hep uses as it cannot be changed that easily.
Some time ago I adapted the way conditions are loaded fro GitCondDB (a01f2d4b), but !93 (merged) introduced a check with the wrong convention.
Here I modify the cache of IOV slices so that we ask the slice if it's IOV is good for the current run, switching from map
to deque
as store.
I also take the occasion to add a limit to the number of concurrent slices in memory (we never really need more than 2-3 slices, but it can be configured).
Closes #37 (closed)