Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:46:45

0001 #ifndef FWCore_Framework_MakeModuleParams_h
0002 #define FWCore_Framework_MakeModuleParams_h
0003 
0004 /** ----------------------
0005 
0006 This struct is used to communication parameters into the module factory.
0007 
0008 ---------------------- **/
0009 
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011 
0012 #include <memory>
0013 
0014 #include <string>
0015 
0016 namespace edm {
0017   class ProcessConfiguration;
0018   class ProductRegistry;
0019   class PreallocationConfiguration;
0020 
0021   struct MakeModuleParams {
0022     MakeModuleParams() : pset_(nullptr), reg_(nullptr), preallocate_(nullptr), processConfiguration_() {}
0023 
0024     MakeModuleParams(ParameterSet* pset,
0025                      ProductRegistry& reg,
0026                      PreallocationConfiguration const* prealloc,
0027                      std::shared_ptr<ProcessConfiguration const> processConfiguration)
0028         : pset_(pset), reg_(&reg), preallocate_(prealloc), processConfiguration_(processConfiguration) {}
0029 
0030     ParameterSet* pset_;
0031     ProductRegistry* reg_;
0032     PreallocationConfiguration const* preallocate_;
0033     std::shared_ptr<ProcessConfiguration const> processConfiguration_;
0034   };
0035 }  // namespace edm
0036 
0037 #endif