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
69 LogWarning(
"LogicError") <<
"::getManyByType: An attempt was made to read a " << principalType
70 <<
" product before end" << principalType <<
"() was called.\n"
71 <<
"The product is of type '" << productType <<
"'.\n";
78 <<
" product before end" << principalType <<
"() was called.\n"
79 <<
"The index of the token was " << token.
index() <<
".\n";
103 *exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for 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";
109 *exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for a container "
110 "with elements of type: "
111 << productType <<
"\n"
112 <<
"Looking for module label: " << labels.
module <<
"\n"
113 <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n"
114 << (0 == labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n";
124 exception <<
"Principal::getByToken: More than 1 product matches all criteria\nLooking for a container with "
126 << productType <<
"\n"
127 <<
"Looking for module label: " << labels.
module <<
"\n"
128 <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n"
129 << (0 == labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n"
130 <<
"This can only occur with get function calls using a Handle<View> argument.\n"
131 <<
"Try a get not using a View or change the instance name of one of the products";
164 bool ambiguous =
false;
201 std::ostringstream
str;
205 str << *branchDescription <<
"-----\n";
209 <<
"Illegal attempt to 'put' an unregistered product.\n"
210 <<
"No product is registered for\n"
213 <<
" product instance name: '" << productInstanceName <<
"'\n"
216 <<
"The following data products are registered for production by " <<
md_.
moduleLabel() <<
":\n"
218 <<
"To correct the problem:\n"
219 " 1) make sure the proper 'produce' call is being made in the module's constructor,\n"
220 " 2) if 'produce' exists and uses a product instance name make sure that same name is used during the "
250 return prov->productID();
276 if ((tran == tl.transition_) and (type == tl.typeID_) and (productInstanceName == tl.productInstanceName_)) {
ProcessHistory const & processHistory() const
SharedResourcesAcquirer * resourcesAcquirer_
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token, ModuleCallingContext const *mcc) const
unsigned int processBlockIndex(std::string const &processName) const
ProductRegistry const & productRegistry() const
BasicHandle getMatchingSequenceByLabel_(TypeID const &typeID, InputTag const &tag, ModuleCallingContext const *mcc) const
constexpr unsigned int index() const noexcept
size_t numberOfProductsConsumed() const
unsigned int ProductResolverIndex
Transition transition() const
Principal const & principal() const
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
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
bool isValid() const noexcept(true)
PrincipalGetAdapter(Principal const &pcpl, ModuleDescription const &md, bool isComplete)
constexpr value_type index() const noexcept
virtual unsigned int processBlockIndex(std::string const &processName) 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
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.
EDProductGetter const * prodGetter() const
void throwAmbiguousException(TypeID const &productType, EDGetToken token) 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