36 char const* principalType,
41 <<
"::put: A null unique_ptr was passed to 'put'.\n" 42 <<
"The pointer is of type " 44 <<
".\nThe specified productInstanceName was '" 45 << productInstanceName
54 <<
"::put: An uninitialized EDPutToken was passed to 'put'.\n" 55 <<
"The pointer is of type " 62 TypeID wrongTypeID{wrongType};
64 <<
"The registered type for an EDPutToken does not match the put type.\n" 65 <<
"The expected type " 74 char const* principalType,
80 <<
"::getByLabel: An attempt was made to read a " 82 <<
" product before end" 85 <<
"The product is of type '" 87 <<
"'.\nThe specified ModuleLabel was '" 89 <<
"'.\nThe specified productInstanceName was '" 90 << productInstanceName
96 char const* principalType,
97 TypeID const& productType) {
100 <<
"::getManyByType: An attempt was made to read a " 102 <<
" product before end" 104 <<
"() was called.\n" 105 <<
"The product is of type '" 112 char const* principalType,
113 TypeID const& productType,
116 <<
"::getByToken: An attempt was made to read a " 118 <<
" product before end" 120 <<
"() was called.\n" 121 <<
"The index of the token was "<<token.
index()<<
".\n";
136 TypeID const& productType,
145 *exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for type: " << productType <<
"\n" 146 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n" 147 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n";
149 *exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for a container with elements of type: " << productType <<
"\n" 150 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n" 151 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n";
163 exception <<
"Principal::getByToken: More than 1 product matches all criteria\nLooking for a container with elements of type: " << productType <<
"\n" 164 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n" 165 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n" 166 <<
"This can only occur with get function calls using a Handle<View> argument.\n" 167 <<
"Try a get not using a View or change the instance name of one of the products";
204 bool ambiguous =
false;
254 std::ostringstream
str;
257 str << *branchDescription<<
"-----\n";
261 <<
"Illegal attempt to 'put' an unregistered product.\n" 262 <<
"No product is registered for\n" 265 <<
" product instance name: '" << productInstanceName <<
"'\n" 268 <<
"The following data products are registered for production by "<<
md_.
moduleLabel()<<
":\n" 271 <<
"To correct the problem:\n" 272 " 1) make sure the proper 'produce' call is being made in the module's constructor,\n" 273 " 2) if 'produce' exists and uses a product instance name make sure that same name is used during the 'put' call.";
285 assert(phb !=
nullptr);
293 assert(phb !=
nullptr);
301 assert(phb !=
nullptr);
303 assert(prov !=
nullptr);
304 return prov->productID();
331 if((tran == tl.transition_) and (type == tl.typeID_)
332 and (productInstanceName == tl.productInstanceName_)) {
353 std::vector<edm::ProductResolverIndex>
const&
358 std::vector<bool>
const&
ProcessHistory const & processHistory() const
SharedResourcesAcquirer * resourcesAcquirer_
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token, ModuleCallingContext const *mcc) const
ProductRegistry const & productRegistry() const
BasicHandle getMatchingSequenceByLabel_(TypeID const &typeID, InputTag const &tag, ModuleCallingContext const *mcc) const
size_t numberOfProductsConsumed() const
unsigned int ProductResolverIndex
Transition transition() const
Principal const & principal() const
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
void throwUnregisteredPutException(TypeID const &type, std::string const &productInstanceLabel) const
BasicHandle getByLabel_(TypeID const &tid, InputTag const &tag, ModuleCallingContext const *mcc) const
std::vector< bool > const & recordProvenanceList() const
std::string const & processName() const
static PFTauRenderPlugin instance
void throwOnPutOfUninitializedToken(char const *principalType, std::type_info const &productType)
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex() const
TypeLabelList const & typeLabelList() const
used by the fwk to register the list of products of this module
PrincipalGetAdapter(Principal const &pcpl, ModuleDescription const &md)
TypeID const & getTypeIDForPutTokenIndex(EDPutToken::value_type index) const
EDConsumerBase const * consumer_
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex() const
ProducerBase const * prodBase_
std::string const & moduleLabel() const
ProcessHistory const & processHistory() const
StableProvenance const * stableProvenance() const
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom(BranchType iType) const
BasicHandle getByLabel(KindOfType kindOfType, TypeID const &typeID, InputTag const &inputTag, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
BranchType const & branchType() const
bool skipCurrentProcess() const
EDProductGetter const * prodGetter() const
ProductID const & getProductID(unsigned int iPutTokenIndex) const
ProductResolverIndexAndSkipBit indexFrom(EDGetToken, BranchType, TypeID const &) const
BranchType const & branchType() const
std::shared_ptr< HandleExceptionFactory > makeHandleExceptionFactory(T &&iFunctor)
std::vector< BranchDescription const * > allBranchDescriptions() const
void throwOnPutOfWrongType(std::type_info const &wrongType, TypeID const &rightType)
std::vector< bool > const & recordProvenanceList() const
BranchDescription const & getBranchDescription(TypeID const &type, std::string const &productInstanceName) const
ProductResolverIndex productResolverIndex() const
ProductResolverIndexHelper const & productLookup() const
void getManyByType_(TypeID const &tid, BasicHandleVec &results, ModuleCallingContext const *mcc) const
BasicHandle makeFailToGetException(KindOfType, TypeID const &, EDGetToken) const
Principal const & principal_
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
std::string const & productInstanceLabel(EDPutToken) const
EDPutToken::value_type getPutTokenIndex(TypeID const &type, std::string const &productInstanceName) const
char const * productInstance
BranchDescription const & branchDescription() const
ConstProductResolverPtr getProductResolverByIndex(ProductResolverIndex const &oid) const
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
ModuleDescription const & md_
BasicHandle getByToken(KindOfType kindOfType, TypeID const &typeID, ProductResolverIndex index, bool skipCurrentProcess, bool &ambiguous, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
void throwOnPutOfNullProduct(char const *principalType, TypeID const &productType, std::string const &productInstanceName)
EDProductGetter const * prodGetter() const
void throwAmbiguousException(TypeID const &productType, EDGetToken token) const
unsigned int index() const
ProductResolverIndex index(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process=nullptr) const
void getManyByType(TypeID const &typeID, BasicHandleVec &results, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
void labelsForToken(EDGetToken const &iToken, ProductLabels &oLabels) const
std::vector< BasicHandle > BasicHandleVec
std::string friendlyClassName() const