27 resourcesAcquirer_(nullptr),
28 isComplete_(isComplete) {}
36 << principalType <<
"::put: A null unique_ptr was passed to 'put'.\n" 37 <<
"The pointer is of type " << productType <<
".\nThe specified productInstanceName was '" 38 << productInstanceName <<
"'.\n";
42 std::type_info
const&
type) {
45 <<
"The pointer is of type " << productType <<
".\n";
49 TypeID wrongTypeID{wrongType};
51 <<
"The expected type " << rightType <<
"\nThe put type " << wrongTypeID
60 LogWarning(
"LogicError") <<
"::getByLabel: An attempt was made to read a " << principalType <<
" product before end" 61 << principalType <<
"() was called.\n" 62 <<
"The product is of type '" << productType <<
"'.\nThe specified ModuleLabel was '" 63 <<
moduleLabel <<
"'.\nThe specified productInstanceName was '" << productInstanceName
71 <<
" product before end" << principalType <<
"() was called.\n" 72 <<
"The index of the token was " <<
token.index() <<
".\n";
96 *
exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for type: " 97 << productType <<
"\n" 98 <<
"Looking for module label: " <<
labels.module <<
"\n" 99 <<
"Looking for productInstanceName: " <<
labels.productInstance <<
"\n" 100 << (0 ==
labels.process[0] ?
"" :
"Looking for process: ") <<
labels.process <<
"\n";
102 *
exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for a container " 103 "with elements of type: " 104 << productType <<
"\n" 105 <<
"Looking for module label: " <<
labels.module <<
"\n" 106 <<
"Looking for productInstanceName: " <<
labels.productInstance <<
"\n" 107 << (0 ==
labels.process[0] ?
"" :
"Looking for process: ") <<
labels.process <<
"\n";
117 exception <<
"Principal::getByToken: More than 1 product matches all criteria\nLooking for a container with " 119 << productType <<
"\n" 120 <<
"Looking for module label: " <<
labels.module <<
"\n" 121 <<
"Looking for productInstanceName: " <<
labels.productInstance <<
"\n" 122 << (0 ==
labels.process[0] ?
"" :
"Looking for process: ") <<
labels.process <<
"\n" 123 <<
"This can only occur with get function calls using a Handle<View> argument.\n" 124 <<
"Try a get not using a View or change the instance name of one of the products";
157 bool ambiguous =
false;
163 }
else if (!
h.isValid()) {
188 std::ostringstream
str;
192 str << *branchDescription <<
"-----\n";
196 <<
"Illegal attempt to 'put' an unregistered product.\n" 197 <<
"No product is registered for\n" 198 <<
" product friendly class name: '" <<
type.friendlyClassName() <<
"'\n" 200 <<
" product instance name: '" << productInstanceName <<
"'\n" 203 <<
"The following data products are registered for production by " <<
md_.
moduleLabel() <<
":\n" 205 <<
"To correct the problem:\n" 206 " 1) make sure the proper 'produce' call is being made in the module's constructor,\n" 207 " 2) if 'produce' exists and uses a product instance name make sure that same name is used during the " 237 return prov->productID();
263 if ((tran == tl.transition_) and (
type == tl.typeID_) and (productInstanceName == tl.productInstanceName_)) {
EDPutToken::value_type getPutTokenIndex(TypeID const &type, std::string const &productInstanceName) const
SharedResourcesAcquirer * resourcesAcquirer_
std::vector< BranchDescription const * > allBranchDescriptions() const
ProductResolverIndex productResolverIndex() const
unsigned int ProductResolverIndex
BasicHandle getByToken(KindOfType kindOfType, TypeID const &typeID, ProductResolverIndex index, bool skipCurrentProcess, bool &ambiguous, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
void labelsForToken(EDGetToken const &iToken, ProductLabels &oLabels) const
static PFTauRenderPlugin instance
ProductRegistry const & productRegistry() const
void throwOnPutOfUninitializedToken(char const *principalType, std::type_info const &productType)
BasicHandle getByLabel_(TypeID const &tid, InputTag const &tag, ModuleCallingContext const *mcc) const
std::vector< bool > const & recordProvenanceList() const
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom(BranchType iType) const
EDProductGetter const * prodGetter() const
ProductResolverIndexAndSkipBit indexFrom(EDGetToken, BranchType, TypeID const &) const
EDConsumerBase const * consumer_
Transition transition() const
ProducerBase const * prodBase_
ProcessHistory const & processHistory() const
std::string const & productInstanceLabel(EDPutToken) const
void throwAmbiguousException(TypeID const &productType, EDGetToken token) const
virtual unsigned int processBlockIndex(std::string const &processName) const
std::vector< bool > const & recordProvenanceList() const
BranchType const & branchType() const
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token, ModuleCallingContext const *mcc) const
EDProductGetter const * prodGetter() const
ProductID const & getProductID(unsigned int iPutTokenIndex) const
TypeLabelList const & typeLabelList() const
used by the fwk to register the list of products of this module
Principal const & principal() const
ProductResolverIndex index(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process=nullptr) const
std::shared_ptr< HandleExceptionFactory > makeHandleExceptionFactory(T &&iFunctor)
BasicHandle getByLabel(KindOfType kindOfType, TypeID const &typeID, InputTag const &inputTag, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex() const
void throwOnPutOfWrongType(std::type_info const &wrongType, TypeID const &rightType)
void throwUnregisteredPutException(TypeID const &type, std::string const &productInstanceLabel) const
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex() const
PrincipalGetAdapter(Principal const &pcpl, ModuleDescription const &md, bool isComplete)
constexpr value_type index() const noexcept
ProcessHistory const & processHistory() const
std::string const & processName() const
BranchDescription const & branchDescription() const
unsigned int processBlockIndex(std::string const &processName) const
BranchDescription const & getBranchDescription(TypeID const &type, std::string const &productInstanceName) const
Principal const & principal_
bool skipCurrentProcess() const
BasicHandle getMatchingSequenceByLabel_(TypeID const &typeID, InputTag const &tag, ModuleCallingContext const *mcc) const
size_t numberOfProductsConsumed() const
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
StableProvenance const * stableProvenance() const
BasicHandle makeFailToGetException(KindOfType, TypeID const &, EDGetToken) const
ProductResolverIndexHelper const & productLookup() const
ModuleDescription const & md_
Log< level::Warning, false > LogWarning
void throwOnPutOfNullProduct(char const *principalType, TypeID const &productType, std::string const &productInstanceName)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
std::string const & moduleLabel() const
ConstProductResolverPtr getProductResolverByIndex(ProductResolverIndex const &oid) const
TypeID const & getTypeIDForPutTokenIndex(EDPutToken::value_type index) const
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
BranchType const & branchType() const