24 namespace eventsetup {
59 std::shared_ptr<EventSetupRecordProvider> iProvider) {
78 bool haveAValidDependentRecord =
false;
79 bool allRecordsValid =
true;
85 haveAValidDependentRecord =
true;
89 bool intervalsWereComparible =
true;
91 itProvider != itProviderEnd;
93 if ((*itProvider)->setValidityIntervalFor(iTime)) {
94 haveAValidDependentRecord =
true;
98 intervalsWereComparible =
false;
101 if (newInterval.
first() < providerInterval.
first()) {
104 if (newInterval.
last() > providerInterval.
last()) {
108 allRecordsValid =
false;
111 if (intervalsWereComparible) {
112 if (!haveAValidDependentRecord) {
116 if (!allRecordsValid) {
122 oInterval = newInterval;
140 bool hadChangedIOV =
false;
144 std::vector<ValidityInterval>::iterator itIOVs =
previousIOVs_.begin();
146 itProvider != itProviderEnd;
147 ++itProvider, ++itIOVs) {
148 if ((*itProvider)->setValidityIntervalFor(iTime)) {
150 if (*itIOVs != providerInterval) {
151 hadChangedIOV =
true;
158 if (closestTimeStamp < providerInterval.
first().
time()) {
159 closestTimeStamp = providerInterval.
first().
time();
162 *itIOVs = providerInterval;
167 if (closestID.
run() != 0) {
168 if (closestTimeStamp.
value() == 0) {
174 const unsigned long long kLumiTimeLength = 23;
void setFirst(const IOVSyncValue &iTime)
std::vector< ValidityInterval > previousIOVs_
const EventID & eventID() const
static const IOVSyncValue & endOfTime()
void setIntervalFor(const EventSetupRecordKey &, const IOVSyncValue &, ValidityInterval &) override
edm::propagate_const< std::shared_ptr< EventSetupRecordIntervalFinder > > alternate_
std::pair< Time_t, Time_t > ValidityInterval
LuminosityBlockNumber_t luminosityBlock() const
const IOVSyncValue & last() const
void addProviderWeAreDependentOn(std::shared_ptr< EventSetupRecordProvider >)
static const IOVSyncValue & beginOfTime()
unsigned int unixTime() const
Time in seconds since January 1, 1970.
void setLast(const IOVSyncValue &iTime)
~DependentRecordIntervalFinder() override
std::vector< std::vector< double > > tmp
static const ValidityInterval & invalidInterval()
DependentRecordIntervalFinder(const EventSetupRecordKey &)
const Timestamp & time() const
const IOVSyncValue & first() const
bool comparable(const IOVSyncValue &iOther) const
void setAlternateFinder(std::shared_ptr< EventSetupRecordIntervalFinder >)
TimeValue_t value() const
void findingRecordWithKey(const eventsetup::EventSetupRecordKey &)
static const IOVSyncValue & invalidIOVSyncValue()