File indexing completed on 2023-10-25 09:46:51
0001 #ifndef FWCore_Framework_ModuleChanger_h
0002 #define FWCore_Framework_ModuleChanger_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include <string>
0024
0025
0026 #include "FWCore/Utilities/interface/propagate_const.h"
0027 #include "FWCore/Framework/interface/ESRecordsToProductResolverIndices.h"
0028
0029
0030
0031 namespace edm {
0032 class ParameterSet;
0033 class Schedule;
0034 class ProductRegistry;
0035
0036 class ModuleChanger {
0037 public:
0038 ModuleChanger(Schedule*, ProductRegistry const* iReg, eventsetup::ESRecordsToProductResolverIndices);
0039 ModuleChanger(const ModuleChanger&) = delete;
0040 const ModuleChanger& operator=(const ModuleChanger&) = delete;
0041 virtual ~ModuleChanger();
0042
0043
0044
0045
0046
0047
0048 bool changeModule(const std::string& iLabel, const ParameterSet& iPSet);
0049
0050 private:
0051
0052 edm::propagate_const<Schedule*> schedule_;
0053 ProductRegistry const* registry_;
0054 eventsetup::ESRecordsToProductResolverIndices indices_;
0055 };
0056 }
0057 #endif