List of all members.
Detailed Description
Definition at line 57 of file TFWLiteSelectorBasic.cc.
Constructor & Destructor Documentation
edm::root::FWLiteDelayedReader::FWLiteDelayedReader |
( |
| ) |
[inline] |
Member Function Documentation
edm::root::FWLiteDelayedReader::boost::shared_ptr |
( |
reg_ |
| ) |
[private] |
Implements edm::DelayedReader.
Definition at line 76 of file TFWLiteSelectorBasic.cc.
References edm::BranchDescription::branchName(), edm::BranchDescription::className(), entry_, eventTree_, Exception, newFWLiteAna::fullName, edm::BranchDescription::getInterface(), gen::k, edm::errors::ProductNotFound, and edm::wrappedClassName().
{
ProductRegistry::ProductList::const_iterator itFind= reg_->productList().find(k);
if(itFind == reg_->productList().end()) {
throw Exception(errors::ProductNotFound) << "could not find entry for product " << k;
}
BranchDescription const& bDesc = itFind->second;
TBranch* branch= eventTree_->GetBranch(bDesc.branchName().c_str());
if(0 == branch) {
throw cms::Exception("MissingBranch")
<< "could not find branch named '" << bDesc.branchName() << "'"
<< "\n Perhaps the data being requested was not saved in this file?";
}
std::string const fullName = wrappedClassName(bDesc.className());
Reflex::Type classType = Reflex::Type::ByName(fullName);
if(classType == Reflex::Type()) {
throw cms::Exception("MissingDictionary")
<< "could not find dictionary for type '" << fullName << "'"
<< "\n Please make sure all the necessary libraries are available.";
}
Reflex::Object wrapperObj = classType.Construct();
if(0 == wrapperObj.Address()) {
throw cms::Exception("FailedToCreate") << "could not create an instance of '" << fullName << "'";
}
void* address = wrapperObj.Address();
branch->SetAddress(&address);
branch->GetEntry(entry_);
return WrapperOwningHolder(address, bDesc.getInterface());
}
virtual void edm::root::FWLiteDelayedReader::mergeReaders_ |
( |
DelayedReader * |
| ) |
[inline, private, virtual] |
virtual void edm::root::FWLiteDelayedReader::reset_ |
( |
| ) |
[inline, private, virtual] |
void edm::root::FWLiteDelayedReader::set |
( |
boost::shared_ptr< ProductRegistry const > |
iReg | ) |
[inline] |
void edm::root::FWLiteDelayedReader::setEntry |
( |
Long64_t |
iEntry | ) |
[inline] |
void edm::root::FWLiteDelayedReader::setTree |
( |
TTree * |
iTree | ) |
[inline] |
Member Data Documentation