Definition at line 63 of file TFWLiteSelectorBasic.cc.
edm::root::FWLiteDelayedReader::FWLiteDelayedReader |
( |
| ) |
|
|
inline |
std::unique_ptr< WrapperBase > edm::root::FWLiteDelayedReader::getTheProduct |
( |
BranchKey const & |
k | ) |
const |
|
private |
Definition at line 96 of file TFWLiteSelectorBasic.cc.
References edm::ObjectWithDict::address(), edm::BranchDescription::branchName(), edm::TypeWithDict::byName(), edm::ObjectWithDict::castObject(), edm::BranchDescription::className(), entry_, eventTree_, Exception, gen::k, parseEventContent::prod, edm::errors::ProductNotFound, AlCaHLTBitMon_QueryRunRegistry::string, and edm::wrappedClassName().
Referenced by getProduct_(), and set().
97 ProductRegistry::ProductList::const_iterator itFind= reg_->productList().find(
k);
98 if(itFind == reg_->productList().end()) {
101 BranchDescription
const& bDesc = itFind->second;
103 TBranch* branch=
eventTree_->GetBranch(bDesc.branchName().c_str());
104 if(
nullptr == branch) {
106 <<
"could not find branch named '" << bDesc.branchName() <<
"'" 107 <<
"\n Perhaps the data being requested was not saved in this file?";
112 if(!
bool(classType)) {
114 <<
"could not find dictionary for type '" << fullName <<
"'" 115 <<
"\n Please make sure all the necessary libraries are available.";
119 ObjectWithDict wrapperObj = classType.construct();
120 if(
nullptr == wrapperObj.address()) {
121 throw cms::Exception(
"FailedToCreate") <<
"could not create an instance of '" << fullName <<
"'";
123 void* address = wrapperObj.address();
124 branch->SetAddress(&address);
127 WrapperBase*
prod =
reinterpret_cast<WrapperBase*
>(edProdObj.address());
129 if(
nullptr == prod) {
131 <<
"failed to convert a '" << fullName
132 <<
"' to a edm::WrapperBase." 133 <<
"Please contact developers since something is very wrong.";
136 return std::unique_ptr<WrapperBase>(
prod);
static TypeWithDict byName(std::string const &name)
std::string wrappedClassName(std::string const &iFullName)
virtual void edm::root::FWLiteDelayedReader::mergeReaders_ |
( |
DelayedReader * |
| ) |
|
|
inlineoverrideprivatevirtual |
|
inlineoverrideprivatevirtual |
|
inlineoverrideprivatevirtual |
virtual void edm::root::FWLiteDelayedReader::reset_ |
( |
| ) |
|
|
inlineoverrideprivatevirtual |
void edm::root::FWLiteDelayedReader::set |
( |
std::shared_ptr< ProductRegistry const > |
iReg | ) |
|
|
inline |
void edm::root::FWLiteDelayedReader::setEntry |
( |
Long64_t |
iEntry | ) |
|
|
inline |
void edm::root::FWLiteDelayedReader::setTree |
( |
TTree * |
iTree | ) |
|
|
inline |
edm::root::FWLiteDelayedReader::std::shared_ptr |
( |
reg_ |
| ) |
|
|
private |
Long64_t edm::root::FWLiteDelayedReader::entry_ |
|
private |
TTree* edm::root::FWLiteDelayedReader::eventTree_ |
|
private |