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";
86 std::shared_ptr<maker::ModuleHolder>
module;
87 bool postCalled =
false;
92 module->setModuleDescription(md);
94 module->registerProductsAndCallbacks(p.
reg_);
void throwConfigurationException(ModuleDescription const &md, cms::Exception &iException) const
ParameterSetID id() const
std::string const & moduleName() const
virtual const std::string & baseType() const =0
std::string const & moduleLabel() const
static unsigned int getUniqueID()
Returns a unique id each time called. Intended to be passed to ModuleDescription's constructor's modI...
virtual ModuleDescription const & moduleDescription() const =0
std::unique_ptr< Worker > makeWorker(ExceptionToActionTable const *, maker::ModuleHolder const *) const
virtual void fillDescriptions(ConfigurationDescriptions &iDesc) const =0
bool insertMapped(value_type const &v, bool forceUpdate=false)
void validateEDMType(std::string const &edmType, MakeModuleParams const &p) const
void addUntrackedParameter(std::string const &name, T const &value)
T getParameter(std::string const &) const
void addContext(std::string const &context)
std::shared_ptr< maker::ModuleHolder > makeModule(MakeModuleParams const &, signalslot::Signal< void(ModuleDescription const &)> &iPre, signalslot::Signal< void(ModuleDescription const &)> &iPost) const
std::string moduleName(StableProvenance const &provenance, ProcessHistory const &history)
ModuleDescription createModuleDescription(MakeModuleParams const &p) const
auto wrap(F iFunc) -> decltype(iFunc())
void validate(ParameterSet &pset, std::string const &moduleLabel) const
PreallocationConfiguration const * preallocate_
T mod(const T &a, const T &b)
ParameterSet const & registerIt()
static Registry * instance()
std::shared_ptr< ProcessConfiguration const > processConfiguration_
void throwValidationException(MakeModuleParams const &p, cms::Exception &iException) const