27 inputType_(inputType),
28 wrapperBaseTClass_(TClass::GetClass(
"edm::WrapperBase")) {
51 return std::shared_ptr<WrapperBase>();
54 TBranch*
br = branchInfo->productBranch_;
59 return std::shared_ptr<WrapperBase>();
65 std::shared_ptr<void> refCoreStreamerGuard(
nullptr, [](
void*) {
69 TClass*
cp = branchInfo->classCache_;
71 branchInfo->classCache_ = TClass::GetClass(branchInfo->branchDescription_.wrappedName().c_str());
72 cp = branchInfo->classCache_;
76 std::unique_ptr<WrapperBase> edp =
getWrapperBasePtr(
p, branchInfo->offsetToWrapperBase_);
82 exception.addContext(
"Rethrowing an exception that happened on a different thread.");