Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:58

0001 #ifndef FWCore_Framework_WorkerParams_h
0002 #define FWCore_Framework_WorkerParams_h
0003 
0004 /** ----------------------
0005 
0006 This struct is used to communication parameters into the worker 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 ExceptionToActionTable;
0020   class PreallocationConfiguration;
0021 
0022   struct WorkerParams {
0023     WorkerParams() : pset_(nullptr), reg_(nullptr), preallocate_(nullptr), processConfiguration_(), actions_(nullptr) {}
0024 
0025     WorkerParams(ParameterSet* pset,
0026                  ProductRegistry& reg,
0027                  PreallocationConfiguration const* prealloc,
0028                  std::shared_ptr<ProcessConfiguration const> processConfiguration,
0029                  ExceptionToActionTable const& actions)
0030         : pset_(pset),
0031           reg_(&reg),
0032           preallocate_(prealloc),
0033           processConfiguration_(processConfiguration),
0034           actions_(&actions) {}
0035 
0036     ParameterSet* pset_;
0037     ProductRegistry* reg_;
0038     PreallocationConfiguration const* preallocate_;
0039     std::shared_ptr<ProcessConfiguration const> processConfiguration_;
0040     ExceptionToActionTable const* actions_;
0041   };
0042 }  // namespace edm
0043 
0044 #endif