1 #ifndef art_Framework_Core_ProducesCollector_h 2 #define art_Framework_Core_ProducesCollector_h 18 class ModuleDescription;
29 <<
"In particular, underscores are not permissible anywhere in the " 31 "class name, including namespaces.\n";
59 template <
typename P, BranchType B = InEvent>
67 template <
typename P, BranchType B>
77 std::array<TypeLabelLookup_t, NumBranchTypes> typeLabelList_{{}};
83 return typeLabelList_[
bt];
86 template <
typename P, art::BranchType B>
92 TypeID const productType{
typeid(
P)};
97 insertOrThrow(
B, typeLabel);
100 template <
typename P, BranchType B>
105 verifyModuleLabel(emulatedModule);
107 TypeID const productType{
typeid(
P)};
111 return insertOrThrow(
B, typeLabel);
void verifyFriendlyClassName(std::string const &fcn)
std::pair< float, std::string > P
std::map< TypeLabel, BranchDescription > TypeLabelLookup_t
bool checkInstanceName(std::string const &instanceName, std::string &errMsg)
void produces(std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
bool checkFriendlyName(std::string const &friendlyName, std::string &errMsg)
TypeLabel const & reconstitutes(std::string const &modLabel, std::string const &instanceName={})
bool checkModuleLabel(std::string const &moduleLabel, std::string &errMsg)
TypeLabelLookup_t const & expectedProducts(BranchType) const
void verifyInstanceName(std::string const &in)