23 p.processConfiguration_.get(),
33 std::ostringstream ost;
34 ost <<
"Validating configuration of module: class=" <<
moduleName <<
" label='" <<
moduleLabel <<
"'";
40 std::ostringstream ost;
48 if (edmType != expected) {
50 <<
"The base type in the python configuration is " << expected <<
", but the base type\n" 51 <<
"for the module's C++ class is " << edmType <<
". " 52 <<
"Please fix the configuration.\n" 53 <<
"It must use the same base type as the C++ class.\n";
62 if (
p.pset_->getParameter<
std::string>(
"@module_type") ==
"SwitchProducer") {
63 p.pset_->addUntrackedParameter(
"@process_name",
p.processConfiguration_->processName());
76 p.pset_->registerIt();
86 std::shared_ptr<maker::ModuleHolder>
module;
87 bool postCalled =
false;
92 module->setModuleDescription(md);
93 module->preallocate(*(
p.preallocate_));
94 module->registerProductsAndCallbacks(
p.reg_);
void throwValidationException(MakeModuleParams const &p, cms::Exception &iException) const
T getParameter(std::string const &) const
roAction_t actions[nactions]
ModuleDescription createModuleDescription(MakeModuleParams const &p) const
void validate(ParameterSet &pset, std::string const &moduleLabel) const
void throwConfigurationException(ModuleDescription const &md, cms::Exception &iException) const
std::string const & moduleName() const
virtual const std::string & baseType() const =0
void validateEDMType(std::string const &edmType, MakeModuleParams const &p) const
static unsigned int getUniqueID()
Returns a unique id each time called. Intended to be passed to ModuleDescription's constructor's modI...
ParameterSetID id() const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const =0
bool insertMapped(value_type const &v, bool forceUpdate=false)
std::shared_ptr< maker::ModuleHolder > makeModule(MakeModuleParams const &, signalslot::Signal< void(ModuleDescription const &)> &iPre, signalslot::Signal< void(ModuleDescription const &)> &iPost) const
void addContext(std::string const &context)
std::string moduleName(StableProvenance const &provenance, ProcessHistory const &history)
auto wrap(F iFunc) -> decltype(iFunc())
std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *, maker::ModuleHolder const *) const
std::string const & moduleLabel() const
T mod(const T &a, const T &b)
static Registry * instance()