27 inputType_(inputType),
28 wrapperBaseTClass_(TClass::GetClass(
"edm::WrapperBase")) {
47 e.
addContext(
"Rethrowing an exception that happened on a different read request.");
56 return std::shared_ptr<WrapperBase>();
59 TBranch*
br = branchInfo->productBranch_;
64 return std::shared_ptr<WrapperBase>();
70 std::shared_ptr<void> refCoreStreamerGuard(
nullptr, [](
void*) {
74 TClass*
cp = branchInfo->classCache_;
76 branchInfo->classCache_ = TClass::GetClass(branchInfo->branchDescription_.wrappedName().c_str());
77 cp = branchInfo->classCache_;
81 std::unique_ptr<WrapperBase> edp =
getWrapperBasePtr(p, branchInfo->offsetToWrapperBase_);
BranchInfo const * getBranchInfo(BranchID const &k) const
void setRefCoreStreamer(bool resetAll=false)
std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > sharedResources_() const override
std::shared_ptr< std::recursive_mutex > mutex_
std::exception_ptr lastException_
static SharedResourcesRegistry * instance()
std::shared_ptr< WrapperBase > getProduct_(BranchID const &k, EDProductGetter const *ep) override
~RootDelayedReader() override
BranchType branchType() const
RootDelayedReader(RootTree const &tree, std::shared_ptr< InputFile > filePtr, InputType inputType)
EntryNumber const & entryNumberForIndex(unsigned int index) const
void getEntry(TBranch *branch, EntryNumber entry) const
void addContext(std::string const &context)
unsigned int transitionIndex() const
std::unique_ptr< SharedResourcesAcquirer > resourceAcquirer_
edm::propagate_const< TClass * > wrapperBaseTClass_
std::unique_ptr< WrapperBase > getWrapperBasePtr(void *p, int offset)
edm::propagate_const< DelayedReader * > nextReader_
std::pair< SharedResourcesAcquirer, std::shared_ptr< std::recursive_mutex > > createAcquirerForSourceDelayedReader()