Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-10-07 04:59:34

0001 // -*- C++ -*-
0002 #ifndef FWCore_TestProcessor_EventSetupTestHelper_h
0003 #define FWCore_TestProcessor_EventSetupTestHelper_h
0004 //
0005 // Package:     FWCore/TestProcessor
0006 // Class  :     EventSetupTestHelper
0007 //
0008 /**\class edm::test::EventSetupTestHelper
0009 
0010  Description: [one line class summary]
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:  root
0018 //         Created:  Tue, 08 May 2018 18:33:09 GMT
0019 //
0020 
0021 // system include files
0022 #include <vector>
0023 
0024 // user include files
0025 #include "FWCore/Framework/interface/ESProductResolverProvider.h"
0026 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
0027 
0028 #include "FWCore/TestProcessor/interface/ESProduceEntry.h"
0029 
0030 // forward declarations
0031 namespace edm {
0032   namespace test {
0033 
0034     class EventSetupTestHelper : public eventsetup::ESProductResolverProvider, public EventSetupRecordIntervalFinder {
0035     public:
0036       EventSetupTestHelper(std::vector<ESProduceEntry>);
0037       EventSetupTestHelper(const EventSetupTestHelper&) = delete;
0038       const EventSetupTestHelper& operator=(const EventSetupTestHelper&) = delete;
0039 
0040       std::shared_ptr<eventsetup::ESProductResolver> getResolver(unsigned int index);
0041 
0042       void resetAllResolvers();
0043 
0044     protected:
0045       void setIntervalFor(const eventsetup::EventSetupRecordKey&, const IOVSyncValue&, ValidityInterval&) final;
0046 
0047       KeyedResolversVector registerResolvers(const eventsetup::EventSetupRecordKey&, unsigned int iovIndex) final;
0048 
0049     private:
0050       // ---------- member data --------------------------------
0051       std::vector<ESProduceEntry> resolvers_;
0052     };
0053   }  // namespace test
0054 }  // namespace edm
0055 #endif