1 #ifndef FWCore_Framework_WorkerMaker_h
2 #define FWCore_Framework_WorkerMaker_h
18 class ModuleDescription;
21 class ExceptionToActionTable;
74 T::fillDescriptions(iDesc);
75 T::prevalidate(iDesc);
82 typedef typename UserType::ModuleType ModuleType;
85 return std::shared_ptr<maker::ModuleHolder>(std::make_shared<maker::ModuleHolderT<ModuleType> >(
MakerHelperType::template makeModule<UserType>(
p),
this));
92 typedef typename UserType::ModuleType ModuleType;
96 return std::unique_ptr<Worker>(
new WorkerType(h->
module(),
md,
actions));
102 return T::baseType();
void throwConfigurationException(ModuleDescription const &md, cms::Exception &iException) const
virtual const std::string & baseType() const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const
virtual const std::string & baseType() const =0
virtual std::shared_ptr< maker::ModuleHolder > makeModule(edm::ParameterSet const &p) const
std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *, maker::ModuleHolder const *) const
std::shared_ptr< T > module() const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const =0
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
void validateEDMType(std::string const &edmType, MakeModuleParams const &p) const
std::shared_ptr< maker::ModuleHolder > makeModule(MakeModuleParams const &, signalslot::Signal< void(ModuleDescription const &)> &iPre, signalslot::Signal< void(ModuleDescription const &)> &iPost) const
ModuleDescription createModuleDescription(MakeModuleParams const &p) const
std::shared_ptr< maker::ModuleHolder > makeReplacementModule(edm::ParameterSet const &p) const
T mod(const T &a, const T &b)
void throwValidationException(MakeModuleParams const &p, cms::Exception &iException) const
virtual std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *actions, ModuleDescription const &md, maker::ModuleHolder const *mod) const