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