38 char const* principalType,
43 <<
"::put: A null auto_ptr was passed to 'put'.\n"
44 <<
"The pointer is of type "
46 <<
".\nThe specified productInstanceName was '"
47 << productInstanceName
53 char const* principalType,
59 <<
"::getByLabel: An attempt was made to read a "
61 <<
" product before end"
64 <<
"The product is of type '"
66 <<
"'.\nThe specified ModuleLabel was '"
68 <<
"'.\nThe specified productInstanceName was '"
69 << productInstanceName
75 char const* principalType,
76 TypeID const& productType) {
79 <<
"::getManyByType: An attempt was made to read a "
81 <<
" product before end"
84 <<
"The product is of type '"
91 char const* principalType,
95 <<
"::getByToken: An attempt was made to read a "
97 <<
" product before end"
100 <<
"The index of the token was "<<token.
index()<<
".\n";
105 TypeID const& productType,
108 consumer_->labelsForToken(token,labels);
111 *exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for type: " << productType <<
"\n"
112 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n"
113 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n";
115 *exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for a container with elements of type: " << productType <<
"\n"
116 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n"
117 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n";
126 consumer_->labelsForToken(token,labels);
128 exception <<
"Principal::getByToken: More than 1 product matches all criteria\nLooking for a container with elements of type: " << productType <<
"\n"
129 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n"
130 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n"
131 <<
"This can only occur with get function calls using a Handle<View> argument.\n"
132 <<
"Try a get not using a View or change the instance name of one of the products";
138 return principal_.branchType();
144 return principal_.getByLabel(
PRODUCT_TYPE, typeID, tag);
152 return principal_.getByLabel(
PRODUCT_TYPE, typeID, label, instance, process);
159 return makeFailToGetException(kindOfType,
id,token);
164 bool ambiguous =
false;
170 return makeFailToGetException(kindOfType,
id,token);
178 return principal_.getByLabel(
ELEMENT_TYPE, typeID, tag);
196 principal_.getManyByType(tid, results);
201 return principal_.processHistory();
211 <<
"Illegal attempt to 'put' an unregistered product.\n"
212 <<
"No product is registered for\n"
213 <<
" process name: '" << md_.processName() <<
"'\n"
214 <<
" module label: '" << md_.moduleLabel() <<
"'\n"
216 <<
" product instance name: '" << productInstanceName <<
"'\n"
218 <<
"The ProductRegistry contains:\n"
219 << principal_.productRegistry()
222 ProductHolderBase const* phb = principal_.getProductByIndex(index,
false,
false);
223 assert(phb !=
nullptr);
229 return principal_.prodGetter();
234 return principal_.isComplete();
ProcessHistory const & processHistory() const
void getManyByType_(TypeID const &tid, BasicHandleVec &results) const
PrincipalGetAdapter(Principal &pcpl, ModuleDescription const &md)
static PFTauRenderPlugin instance
ConstBranchDescription const & branchDescription() const
ProductHolderIndex index(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process=0) const
const char * productInstance
unsigned int ProductHolderIndex
static void throwAmbiguousException(const char *where, TypeID const &productType, std::string const &label, std::string const &instance, std::string const &process)
BranchType const & branchType() const
EDProductGetter const * prodGetter() const
BasicHandle getByLabel_(TypeID const &tid, InputTag const &tag) const
void operator()(std::pair< WrapperOwningHolder, ConstBranchDescription const * > const p) const
bool willSkipCurrentProcess() const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
BasicHandle makeFailToGetException(KindOfType, TypeID const &, EDGetToken) const
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
BasicHandle getMatchingSequenceByLabel_(TypeID const &typeID, InputTag const &tag) const
void throwOnPutOfNullProduct(char const *principalType, TypeID const &productType, std::string const &productInstanceName)
ConstBranchDescription const & getBranchDescription(TypeID const &type, std::string const &productInstanceName) const
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token) const
void throwAmbiguousException(TypeID const &productType, EDGetToken token) const
unsigned int index() const
std::vector< BasicHandle > BasicHandleVec
std::string friendlyClassName() const