File indexing completed on 2025-04-30 22:24:14
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "FWCore/TestProcessor/interface/EventSetupTestHelper.h"
0017 #include "FWCore/Framework/interface/ESProductResolver.h"
0018 #include "FWCore/Framework/interface/ESModuleProducesInfo.h"
0019
0020 namespace edm {
0021 namespace test {
0022
0023 EventSetupTestHelper::EventSetupTestHelper(std::vector<ESProduceEntry> iResolvers)
0024 : resolvers_{std::move(iResolvers)} {
0025
0026 std::set<eventsetup::EventSetupRecordKey> records;
0027 for (auto const& p : resolvers_) {
0028 records.insert(p.recordKey_);
0029 }
0030 for (auto const& k : records) {
0031 usingRecordWithKey(k);
0032 findingRecordWithKey(k);
0033 }
0034 }
0035
0036 void EventSetupTestHelper::setIntervalFor(const eventsetup::EventSetupRecordKey&,
0037 const IOVSyncValue& iSync,
0038 ValidityInterval& oIOV) {
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058 oIOV = edm::ValidityInterval(edm::IOVSyncValue::beginOfTime(), edm::IOVSyncValue::endOfTime());
0059 }
0060
0061 eventsetup::ESProductResolverProvider::KeyedResolversVector EventSetupTestHelper::registerResolvers(
0062 const eventsetup::EventSetupRecordKey& iRecordKey, unsigned int iovIndex) {
0063 KeyedResolversVector keyedResolversVector;
0064 for (auto const& p : resolvers_) {
0065 if (p.recordKey_ == iRecordKey) {
0066 keyedResolversVector.emplace_back(p.dataKey_, p.resolver_);
0067 }
0068 }
0069 return keyedResolversVector;
0070 }
0071
0072 std::shared_ptr<eventsetup::ESProductResolver> EventSetupTestHelper::getResolver(unsigned int iIndex) {
0073 return resolvers_[iIndex].resolver_;
0074 }
0075
0076 std::vector<eventsetup::ESModuleProducesInfo> EventSetupTestHelper::producesInfo() const {
0077 std::vector<eventsetup::ESModuleProducesInfo> producesInfo;
0078 producesInfo.reserve(resolvers_.size());
0079 for (auto const& p : resolvers_) {
0080 producesInfo.emplace_back(p.recordKey_, p.dataKey_, p.resolver_->produceMethodID());
0081 }
0082 return producesInfo;
0083 }
0084
0085 void EventSetupTestHelper::resetAllResolvers() {
0086 for (auto const& p : resolvers_) {
0087 p.resolver_->invalidate();
0088 }
0089 }
0090
0091 }
0092 }