41 char const* principalType,
46 <<
"::put: A null auto_ptr was passed to 'put'.\n"
47 <<
"The pointer is of type "
49 <<
".\nThe specified productInstanceName was '"
50 << productInstanceName
56 char const* principalType,
62 <<
"::getByLabel: An attempt was made to read a "
64 <<
" product before end"
67 <<
"The product is of type '"
69 <<
"'.\nThe specified ModuleLabel was '"
71 <<
"'.\nThe specified productInstanceName was '"
72 << productInstanceName
78 char const* principalType,
79 TypeID const& productType) {
82 <<
"::getManyByType: An attempt was made to read a "
84 <<
" product before end"
87 <<
"The product is of type '"
94 char const* principalType,
98 <<
"::getByToken: An attempt was made to read a "
100 <<
" product before end"
102 <<
"() was called.\n"
103 <<
"The index of the token was "<<token.
index()<<
".\n";
108 TypeID const& productType,
111 consumer_->labelsForToken(token,labels);
117 *exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for type: " << productType <<
"\n"
118 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n"
119 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n";
121 *exception <<
"Principal::getByToken: Found zero products matching all criteria\nLooking for a container with elements of type: " << productType <<
"\n"
122 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n"
123 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n";
133 consumer_->labelsForToken(token,labels);
135 exception <<
"Principal::getByToken: More than 1 product matches all criteria\nLooking for a container with elements of type: " << productType <<
"\n"
136 <<
"Looking for module label: " << labels.
module <<
"\n" <<
"Looking for productInstanceName: " << labels.
productInstance <<
"\n"
137 << (0==labels.
process[0] ?
"" :
"Looking for process: ") << labels.
process <<
"\n"
138 <<
"This can only occur with get function calls using a Handle<View> argument.\n"
139 <<
"Try a get not using a View or change the instance name of one of the products";
145 return principal_.branchType();
152 return principal_.getByLabel(
PRODUCT_TYPE, typeID, tag, consumer_, mcc);
161 return principal_.getByLabel(
PRODUCT_TYPE, typeID, label, instance, process, consumer_, mcc);
171 return makeFailToGetException(kindOfType,
id,token);
176 bool ambiguous =
false;
177 BasicHandle h = principal_.getByToken(kindOfType,
id, index, skipCurrentProcess, ambiguous, mcc);
182 return makeFailToGetException(kindOfType,
id,token);
191 return principal_.getByLabel(
ELEMENT_TYPE, typeID, tag, consumer_, mcc);
214 principal_.getManyByType(tid, results, consumer_, mcc);
219 return principal_.processHistory();
229 <<
"Illegal attempt to 'put' an unregistered product.\n"
230 <<
"No product is registered for\n"
231 <<
" process name: '" << md_.processName() <<
"'\n"
232 <<
" module label: '" << md_.moduleLabel() <<
"'\n"
234 <<
" product instance name: '" << productInstanceName <<
"'\n"
236 <<
"The ProductRegistry contains:\n"
237 << principal_.productRegistry()
241 assert(phb !=
nullptr);
247 return principal_.prodGetter();
252 return principal_.isComplete();
ProcessHistory const & processHistory() const
BasicHandle getByToken_(TypeID const &id, KindOfType kindOfType, EDGetToken token, ModuleCallingContext const *mcc) const
BasicHandle getMatchingSequenceByLabel_(TypeID const &typeID, InputTag const &tag, ModuleCallingContext const *mcc) const
BasicHandle getByLabel_(TypeID const &tid, InputTag const &tag, ModuleCallingContext const *mcc) const
PrincipalGetAdapter(Principal &pcpl, ModuleDescription const &md)
static PFTauRenderPlugin instance
ProductHolderIndex index(KindOfType kindOfType, TypeID const &typeID, char const *moduleLabel, char const *instance, char const *process=0) const
bool skipCurrentProcess() 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
BranchDescription const & branchDescription() const
std::shared_ptr< HandleExceptionFactory > makeHandleExceptionFactory(T &&iFunctor)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
BranchDescription const & getBranchDescription(TypeID const &type, std::string const &productInstanceName) const
void getManyByType_(TypeID const &tid, BasicHandleVec &results, ModuleCallingContext const *mcc) const
BasicHandle makeFailToGetException(KindOfType, TypeID const &, EDGetToken) const
void throwOnPrematureRead(char const *principalType, TypeID const &productType, std::string const &moduleLabel, std::string const &productInstanceName)
void operator()(std::pair< WrapperOwningHolder, BranchDescription const * > const p) const
void throwOnPutOfNullProduct(char const *principalType, TypeID const &productType, std::string const &productInstanceName)
ProductHolderIndex productHolderIndex() const
void throwAmbiguousException(TypeID const &productType, EDGetToken token) const
unsigned int index() const
std::vector< BasicHandle > BasicHandleVec
std::string friendlyClassName() const