10 #include "cetlib/bold_fontify.h" 14 EngineCreator::EngineCreator(std::string
const& moduleLabel,
16 : moduleLabel_{moduleLabel},
sid_{sid}
27 std::string
const& kind_of_engine_to_make)
35 std::string
const& kind_of_engine_to_make,
39 return rng()->createEngine(
58 "An error occurred while creating a random-number engine.\n\n"}
59 <<
"No module label or schedule ID available to create engine.\n" 60 <<
"Please ensure that your module calls the correct base-class\n" 61 "constructor. The module class and module label can be determined\n" 62 "by looking for the '<module class>:<module label>@Construction' " 64 "in the message context a few lines above. For example, if your\n" 65 "module is a filter with class name 'MyFilter' please make the\n" 66 "following change to your constructor:\n\n" 67 <<
" Wrong: MyFilter(ParameterSet const& ps) :\n" 68 <<
" dataMembers_, ...\n" 70 <<
" Right: MyFilter(ParameterSet const& ps) :\n" 71 <<
" " << cet::bold_fontify(
"art::EDFilter{ps},")
72 <<
" dataMembers_, ...\n" 74 <<
"If your module is a producer, 'art::EDFilter{ps}' above should be\n" 75 "replaced with 'art::EDProducer{ps}.\n";
base_engine_t & createEngine(seed_t seed)
RNGsnapshot::label_t label_t
constexpr bool isValid() const noexcept
std::string const moduleLabel_
CLHEP::HepRandomEngine base_engine_t
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
static ServiceHandle< RandomNumberGenerator > & rng()