19 #include "TDictAttributeMap.h"
22 #include <ROOT/RNTuple.hxx>
33 or ( tc and ( tc->GetBaseClass(
"SG::IAuxStore")
35 or
RootType(tc).Properties().HasProperty(
"IAuxStore") ));
44 if(
branch->GetExpectedType(tc,
type) == 0 && tc !=
nullptr) {
45 const char* brname =
branch->GetName();
46 const char* clname = tc->GetName();
47 size_t namelen = strlen (clname);
48 std::string
key = brname;
49 if( strncmp(brname, clname, namelen) == 0 && brname[namelen] ==
'_' ) {
50 key.erase (0, namelen+1);
62 const std::string bname =
branch->GetName();
68 msg <<
"GetExpectedType() failed for branch: " << bname;
72 return tc->GetBaseClass(
"SG::IAuxStoreHolder") !=
nullptr;
79 std::unique_ptr<RootAuxDynIO::IRootAuxDynReader>
81 return std::make_unique<TBranchAuxDynReader>(
tree,
branch);
84 std::unique_ptr<RootAuxDynIO::IRootAuxDynReader>
86 return std::make_unique<RNTupleAuxDynReader>(field_name, field_type,
reader);
94 std::unique_ptr<RootAuxDynIO::IRootAuxDynWriter>
96 return std::make_unique<TBranchAuxDynWriter>(
tree, bufferSize, splitLevel, offsettab_len, do_branch_fill);
99 std::unique_ptr<RootAuxDynIO::IRNTupleAuxDynWriter>
101 return std::make_unique<RNTupleAuxDynWriter>();