56 void RemovePrefix(
TString& str,
const char* prefix) {
58 if (str.
Length() && prefix && strlen(prefix)) {
59 if (!str.
Index(prefix)) {
60 str.
Remove(0, strlen(prefix));
71 fBuffer.PushDataCache( fOnfileObject );
75 if (fOnfileObject)
fBuffer.PopDataCache();
85 for (
Int_t i = 0; i < nbranches; ++i) {
88 case 31: br->
SetType(41);
break;
110 return CanSelfReference(inside);
115 const static TClassRef stringClass(
"std::string");
160, fReadActionSequence(0)
161, fFillActionSequence(0)
178, fClassName(sinfo->GetName())
182, fCheckSum(sinfo->GetCheckSum())
198, fTargetClass(fClassName)
205, fReadActionSequence(0)
206, fFillActionSequence(0)
215 Init(
tree, 0, bname,sinfo,
id,pointer,basketsize,splitlevel,btype);
225, fClassName(sinfo->GetName())
229, fCheckSum(sinfo->GetCheckSum())
245, fTargetClass( fClassName )
252, fReadActionSequence(0)
253, fFillActionSequence(0)
260 Init(parent ? parent->
GetTree() : 0, parent, bname,sinfo,
id,pointer,basketsize,splitlevel,btype);
279 if (
fTree == 0)
return;
371 if (hasCustomStreamer) {
424 if (splitlevel > 0) {
472 Unroll(
name, clOfElement, clOfElement, pointer, basketsize, splitlevel+splitSTLP, 0);
473 if (strchr(bname,
'.')) {
506 char **ppointer = (
char**)(pointer);
550 Unroll(
name, clOfClones, clOfClones, pointer, basketsize, splitlevel+splitSTLP, 31);
557 TClass* contCl = elementClass;
605 Unroll(
name, valueClass, valueClass, pointer, basketsize, splitlevel+splitSTLP, 41);
618 TClass* clm = elementClass;
619 Int_t err =
Unroll(
name, clm, clm, pointer, basketsize, splitlevel+splitSTLP, 0);
661, fClassName(
"TClonesArray")
667, fTargetClass( fClassName )
672, fReadActionSequence(0)
673, fFillActionSequence(0)
678 Init(
tree, 0, bname, clones, basketsize, splitlevel, compress);
688, fClassName(
"TClonesArray")
694, fTargetClass( fClassName )
699, fReadActionSequence(0)
700, fFillActionSequence(0)
705 Init(parent ? parent->
GetTree() : 0, parent, bname, clones, basketsize, splitlevel, compress);
752 if (basketsize < 100) basketsize = 100;
772 Error(
"Init",
"Missing class object of the TClonesArray %s\n",clones->
GetName());
784 std::string branchname =
name.Data() + std::string(
"_");
786 leaf->
SetName(branchname.c_str());
788 Unroll(
name, clonesClass, clonesClass, 0, basketsize, splitlevel, 31);
815, fClassName(cont->GetCollectionClass()->GetName())
820, fTargetClass( fClassName )
823, fBranchClass(cont->GetCollectionClass())
825, fReadActionSequence(0)
826, fFillActionSequence(0)
831 Init(
tree, 0, bname, cont, basketsize, splitlevel, compress);
841, fClassName(cont->GetCollectionClass()->GetName())
846, fTargetClass( fClassName )
849, fBranchClass(cont->GetCollectionClass())
851, fReadActionSequence(0)
852, fFillActionSequence(0)
857 Init(parent ? parent->
GetTree() : 0, parent, bname, cont, basketsize, splitlevel, compress);
911 if (basketsize < 100) {
952 Unroll(
name, valueClass, valueClass, 0, basketsize, splitlevel, 41);
1031 if (nbranches > 0) {
1032 TList persistentBranches;
1035 while((branch=(
TBranch*)iB())) {
1036 if (branch->
IsFolder()) persistentBranches.
Add(branch);
1062 mempos=strMember.
First(
'[');
1066 if (!
m ||
m->IsPersistent()) persistentBranches.
Add(branch);
1067 }
else persistentBranches.
Add(branch);
1091 pos = mothername.
First(
'[');
1097 if (mothername(len-1) !=
'.') {
1102 TString doublename = mothername;
1104 Int_t isthere = (
name.Index(doublename) == 0);
1106 name.Prepend(doublename);
1109 doublename.
Append(mothername);
1110 isthere = (
name.Index(doublename) == 0);
1113 name.Prepend(mothername);
1124 name.Prepend(mothername);
1146 for (
Int_t i = 0; i < nbranches; ++i) {
1152 }
else if (
fType == 4) {
1155 Error(
"BuildTitle",
"This cannot happen, fType of parent is not 3 or 4!");
1159 const char* fin = strrchr(bre->
GetTitle(),
'.');
1192 if ((stype > 40) && (stype < 61)) {
1234 Error(
"Fill",
"attempt to fill branch %s while addresss is not set",
GetName());
1257 Error(
"Fill",
"Failed filling branch:%s, nbytes=%d",
GetName(), nwrite);
1269 Error(
"Fill",
"Failed filling branch:%s, nbytes=%d",
GetName(), nwrite);
1277 for (
Int_t i = 0; i < nbranches; ++i) {
1280 nwrite = branch->
FillImpl(imtHelper);
1282 Error(
"Fill",
"Failed filling branch:%s.%s, nbytes=%d",
GetName(), branch->
GetName(), nwrite);
1295 printf(
"Fill: %lld, branch=%s, nbytes=%d\n", entry,
GetName(), nbytes);
1333 }
else if (
fType == 31) {
1354 Error(
"FillLeaves",
"The branch counter address was zero!");
1360 Error(
"FillLeaves",
"Clonesa: %s, n=%d, sorry not supported yet",
GetName(),
n);
1383 for (
Int_t ii = 0; ii <
n; ++ii) {
1384 b.WriteDouble32(&(xx[ii]),se);
1393 for (
Int_t ii = 0; ii <
n; ++ii) {
1394 b.WriteFloat16(&(xx[ii]),se);
1476 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1507 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1537 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1568 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1623 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1628 char **end = arr +
n;
1705 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1749 Error(
"FillLeaves",
"Cannot get streamer info for branch '%s'",
GetName());
1764 std::size_t dim =
name.find_first_of(
"[");
1765 if (dim != std::string::npos) {
1788 if (se && se->
IsBase()) {
1796 std::string longnm_parent;
1800 longnm_parent +=
name;
1806 for(
Int_t i = 0; i < nbranches; ++i) {
1809 const char *brname = branch->
GetName();
1810 UInt_t brlen = strlen(brname);
1811 if (brname[brlen-1]==
']') {
1812 const char *dim = strchr(brname,
'[');
1814 brlen = dim - brname;
1817 if (namelen == brlen
1818 && strncmp(
name,brname,brlen) == 0) {
1821 if (brlen == longnm.length()
1822 && strncmp(longnm.c_str(),brname,brlen) == 0) {
1826 if (brlen == longnm_parent.length()
1827 && strncmp(longnm_parent.c_str(),brname,brlen) == 0) {
1831 if (namelen>brlen &&
name[brlen]==
'.' && strncmp(
name,brname,brlen)==0) {
1842 for(
Int_t i = 0; i < nbranches; ++i) {
1848 if (si && br->
GetID() >= 0) {
1850 if (se && se->
IsBase()) {
1872 if (parent==
this || parent->
GetID()<0 )
return 0;
1877 if (! se->
IsBase() )
return 0;
1885 std::string longname( grand_parent->
GetName() );
1891 if ( longname == leafname ) {
1932 if (valueClass == subbe->fInfo->
GetClass()) {
1933 localInfo = subbe->fInfo;
1968 if (targetValueClass && localInfo->
GetClass() != targetValueClass) {
1979 for (
size_t i =0; i < ndata; ++i) {
1994 ename = ename.
Remove(pos);
2002 ids.back().fElement = nextel;
2003 ids.back().fInfo = info;
2009 if (!be && nextel->
IsBase()) {
2014 if (subprefix.Length() && subprefix[subprefix.Length()-1] ==
'.')
2015 subprefix.Remove(subprefix.Length()-1);
2021 TClass *expectedClass =
nullptr;
2028 for (
Int_t bi = 0; bi < nbranches; ++bi) {
2030 if (subprefix != branch->
GetName())
2044 if (elementClass && (!be || be->
GetType() == -2)) {
2058 subprefix = ename +
".";
2060 auto nbranches = search->GetEntriesFast();
2061 bool foundRelatedSplit =
false;
2062 for (
Int_t bi = 0; bi < nbranches; ++bi) {
2065 if (!foundRelatedSplit)
2066 foundRelatedSplit = matchSubPrefix;
2077 if (!foundRelatedSplit) {
2087 ids.emplace_back(nextinfo, offset + nextel->
GetOffset());
2090 ids.back().fNestedIDs->fOwnOnfileObject =
kTRUE;
2092 ids.back().fNestedIDs->fOnfileObject = onfileObject;
2093 GatherArtificialElements(branches, ids.back().fNestedIDs->fIDs, subprefix, nextinfo, offset + nextel->
GetOffset());
2094 if (ids.back().fNestedIDs->fIDs.empty())
2128 if ( !targetClass ) {
2129 Error(
"InitInfo",
"The target class dictionary is not present!" );
2147 target +=
"@@emulated";
2156 if( targetClass != cl ) {
2173 if( targetClass != cl )
2213 Error(
"InitInfo",
"StreamerInfo is not compiled.");
2253 Int_t firstindex = 0;
2254 Int_t lastindex = nbranches - 1;
2261 if (!subbranch->
fInfo)
2265 for(
Int_t i = index - 1; i >= 0; --i) {
2268 if ( ! subbranch_name.
BeginsWith(thisprefix)) {
2273 if (!subbranch->
fInfo)
2276 for(
Int_t i = index; i < nbranches; ++i) {
2279 if ( ! subbranch_name.
BeginsWith(thisprefix)) {
2291 for(
Int_t i = 0; i < nbranches; ++i) {
2294 if ( ! subbranch_name.
BeginsWith(thisprefix)) {
2301 for (
Int_t i = firstindex; i <= lastindex; ++i) {
2304 if (
this != subbranch) {
2306 if (!subbranch->
fInfo)
2309 if (subbranch->
fInfo == info)
2311 else if (subbranch->
fInfo ==
nullptr && subbranch->
fBranchClass == currentClass) {
2327 Error(
"SetOnfileObject (lambda)",
"2 distincts fOnfileObject are in the hierarchy of %s for type %s",
2332 seenExisting =
kTRUE;
2336 lastbranch = subbranch;
2341 if (lastbranch !=
this)
2350 size_t pos =
s.rfind(
'.');
2351 if (pos != std::string::npos) {
2352 s =
s.substr(pos+1);
2354 while ((pos =
s.rfind(
'[')) != std::string::npos) {
2355 s =
s.substr(0, pos);
2362 for (
size_t i = 0; i < ndata; ++i) {
2394 for (
size_t i =
fID+1+(
fNewIDs.size()); i < ndata; ++i) {
2397 std::string ename = nextel->
GetName();
2398 if (ename[0] ==
'*')
2399 ename = ename.substr(1);
2401 while ((pos = ename.rfind(
'[')) != std::string::npos) {
2402 ename = ename.substr(0, pos);
2434 fNewIDs.back().fElement = nextel;
2441 for (
size_t i = 0; i < ndata; ++i) {
2456 SetOnfileObject(
fInfo);
2471 auto start = prefix.
Length();
2472 if (prefix[start - 1] ==
'.')
2475 auto cutoff = view.find_last_of(
'.');
2476 if (cutoff != std::string::npos) {
2477 prefix.
Remove(cutoff + 1);
2480 if (prefix[prefix.
Length()-1] !=
'.') {
2493 SetOnfileObject(localInfo);
2524 const char* className = 0;
2569 Fatal(
"GetCollectionProxy",
2570 "Can not create a Collection Proxy of any kind for the class \"%s\" needed by the branch \"%s\" of the TTree \"%s\"!",
2574 "Fixing the collection proxy of the class \"%s\" \n"
2575 "\tneeded by the branch \"%s\" of the TTree \"%s\" to be similar to \"%s\".",
2581 }
else if (
fType == 41) {
2624 if (newInfo != brInfo) {
2633 if (newType.
Length()==0) {
2716 for (
Int_t i = 0; i < nbranches; ++i) {
2741 char **end = arr +
fNdata;
2744 }
else if (
fType == 4) {
2783 Info(
"GetEntry",
"%lld, branch=%s, nbytes=%d", entry,
GetName(), nbytes);
2801 if ((
type == -1) || (
fID == -1)) {
2810 if (!expectedClass) {
2820 Error(
"GetExpectedType",
"Did not find the type for %s",
GetName());
2833 if (!mother || mother==
this || mother->
GetType() == 3 || mother->
GetType() == 4) {
2838 if (motherName.
Length() && (motherName[motherName.
Length()-1] ==
'.')) {
2841 return motherName +
"." +
fName;
2850 return "TBranchElement-folder";
2852 return "TBranchElement-leaf";
2913 const char *types[20] = {
2936 return types[itype];
2945template <
typename T>
2996 }
else if (
fType <= 2) {
3021 }
else if (
fType == 41) {
3074 }
else if (
fType == 4) {
3077 }
else if (
fType == 31) {
3082 }
else if (
fType == 41) {
3087 }
else if (
fType <= 2) {
3102 }
else if (
fType == 41) {
3104 }
else if (prID < 0) {
3109 char **val = (
char**)(
object+
GetInfoImp()->TStreamerInfo::GetElementOffset(prID));
3164 Warning(
"InitializeOffsets",
"No branch class set for branch: %s",
GetName());
3181 Int_t localOffset = 0;
3194 Warning(
"InitializeOffsets",
"Streamer info for branch: %s has no elements array!",
GetName());
3201 Warning(
"InitializeOffsets",
"Cannot get streamer element for branch: %s!",
GetName());
3222 Error(
"InitializeOffsets",
"Could not find class for branch: %s",
GetName());
3236 stlParentName = br->
GetName();
3245 for (
Int_t subBranchIdx = 0; subBranchIdx < nbranches; ++subBranchIdx) {
3246 bool alternateElement =
false;
3250 if (subBranch == 0) {
3264 Warning(
"InitializeOffsets",
"No streamer info for branch: %s subbranch: %s",
GetName(), subBranch->
GetName());
3269 Warning(
"InitializeOffsets",
"No elements array for branch: %s subbranch: %s",
GetName(), subBranch->
GetName());
3275 if (!subBranchElement) {
3276 Warning(
"InitializeOffsets",
"No streamer element for branch: %s subbranch: %s",
GetName(), subBranch->
GetName());
3290 typedef TStreamerInfoActions::ActionContainer_t::iterator iterator;
3293 iter != end; ++iter) {
3298 subBranchElement =
e;
3299 alternateElement =
true;
3306 localOffset = subBranchElement->
GetOffset();
3314 && CanSelfReference(subBranchElement->
GetClass()))
3330 Warning(
"InitializeOffsets",
"Branch '%s' has no mother!",
GetName());
3336 if (motherName.
Length() && strchr(motherName.
Data(),
'.')) {
3340 if (motherName.
Length() && (motherName[motherName.
Length()-1] ==
'.')) {
3341 motherDotAtEnd =
kTRUE;
3345 if ((subBranch->
fType == 1) || (subBranchElement && subBranchElement->
IsBase())) {
3353 isBaseSubBranch =
kTRUE;
3357 if ((subBranch->
fType == 31) || (subBranch->
fType == 41)) {
3359 isContDataMember =
kTRUE;
3384 if (motherDotAtEnd) {
3388 if (!stlParentNameUpdated && stlParentName.
Length()) {
3390 stlParentNameUpdated =
kTRUE;
3392 }
else if (motherDot) {
3409 if (!stlParentNameUpdated && stlParentName.
Length()) {
3417 if (!stlParentNameUpdated && stlParentName.
Length()) {
3423 stlParentNameUpdated =
kTRUE;
3424 if (isBaseSubBranch) {
3438 if (dataName[0] ==
'.') {
3448 if (motherDotAtEnd) {
3451 }
else if (motherDot) {
3501 RemovePrefix(dataName, parentName);
3506 if (dataName[0] ==
'.') {
3513 if (dataName[dataName.
Length()-1] ==
'.') {
3555 target +=
"@@emulated";
3573 Warning(
"InitializeOffsets",
"subBranch: '%s' has no parent class, and cannot get class for clones class: '%s'!", subBranch->
GetName(),
GetClonesName());
3577 Warning(
"InitializeOffsets",
"subBranch: '%s' has no parent class! Assuming parent class is: '%s'.", subBranch->
GetName(), pClass->
GetName());
3581 Warning(
"InitializeOffsets",
"subBranch: '%s' has no parent class! Assuming parent class is: '%s'.", subBranch->
GetName(), pClass ? pClass->
GetName() :
"unknowned class");
3586 pClass = branchClass;
3591 if (renamed && pClass) {
3592 if (pClass == branchClass) {
3607 if( !strncmp( stlParentName.
Data(), dataName.
Data(), stlParentName.
Length()-1 )
3608 && dataName[ stlParentName.
Length() ] ==
'.' )
3616 if (alternateElement) {
3619 if (dotpos !=
kNPOS) ++dotpos;
else dotpos = 0;
3641 Error(
"InitializeOffsets",
3642 "Could not find the real data member '%s' when constructing the branch '%s' [Likely missing ShowMember].",
3647 Info(
"InitializeOffsets",
3648 "TTree created with an older schema, some data might not be copied in 'slow-cloning' mode; fast-cloning should have the correct result. '%s' is missing when constructing the branch '%s'. ",
3652 Fatal(
"InitializeOffsets",
3653 "Could not find the real data member '%s' when constructing the branch '%s' [Likely an internal error, please report to the developers].",
3661 if (isBaseSubBranch) {
3664 Warning(
"InitializeOffsets",
"Could not find the data member name for branch '%s' with parent branch '%s', assuming offset is zero!", subBranch->
GetName(),
GetName());
3672 if (isContDataMember) {
3686 if (isBaseSubBranch) {
3693 subBranch->
SetOffset(offset - localOffset);
3703 }
else if (isSplit) {
3704 if (isBaseSubBranch) {
3715 if (isBaseSubBranch) {
3755 if (nbranches >= 1) {
3759 return browsables && browsables->
GetSize();
3774 if (basket &&
fTree) {
3787 bufbegin = entryOffset[entry-
first];
3790 bufnext = entryOffset[entry+1-
first];
3794 if (bufnext == bufbegin) {
3812 for(
auto &cursor : ids) {
3813 auto id = cursor.fElemID;
3819 Error(
"TBranchElement::Print",
"Element for id #%d not found in StreamerInfo for %s",
3823 }
else if (cursor.fNestedIDs) {
3824 Printf(
" Within subobject of type %s offset = %d", cursor.fNestedIDs->fInfo->GetName(), cursor.fNestedIDs->fOffset);
3825 PrintElements(cursor.fNestedIDs->fInfo, cursor.fNestedIDs->fIDs);
3833 if (strncmp(option,
"debugAddress",strlen(
"debugAddress"))==0) {
3834 if (strlen(option)==strlen(
"debugAddress")) {
3835 Printf(
"%-24s %-16s %2s %4s %-16s %-16s %8s %8s %s %s\n",
3836 "Branch Name",
"Streamer Class",
"ID",
"Type",
"Class",
"Parent",
"pOffset",
"fOffset",
"fObject",
"fOnfileObject");
3845 Printf(
"%-16s %2d %4d %-16s %-16s %8x %8x %p %p%s\n",
3850 for (
Int_t i = 0; i < nbranches; ++i) {
3852 subbranch->
Print(
"debugAddressSub");
3856 if (strncmp(option,
"debugInfo",strlen(
"debugInfo"))==0) {
3868 Printf(
" With elements:");
3872 Printf(
" with read actions:");
3874 Printf(
" with write actions:");
3883 Printf(
" with read actions:");
3885 Printf(
" with write actions:");
3888 TString suboption =
"debugInfoSub";
3889 suboption += (option+strlen(
"debugInfo"));
3890 for (
Int_t i = 0; i < nbranches; ++i) {
3892 subbranch->
Print(suboption);
3905 Printf(
"*............................................................................*");
3910 for (
Int_t i=0;i<nbranches;i++) {
3912 branch->
Print(option);
3969 }
else if (
fType <= 2) {
3986 }
else if (
fType == 3) {
3988 }
else if (
fType == 31) {
3993 }
else if (
fType == 41) {
4010 Fatal(
"ReadLeaves",
"The ReadLeaves function has not been configured for %s",
GetName());
4028 b.SetBufferOffset(
b.Length() -
sizeof(
n));
4030 Error(
"ReadLeaves",
"Incorrect size read for the container in %s\nThe size read is %d when the maximum is %d\nThe size is reset to 0 for this entry (%lld)",
GetName(),
n[0],
fMaximum,
GetReadEntry());
4042 for (
Int_t i=0; i<nbranches; i++) {
4059 if (atype > 54)
return;
4068 if (!len_where)
return;
4073 for( k=0; k<
n; k++) {
4074 char **where = &(((
char**)
fAddress)[k]);
4078 case 1: {length = ((
Char_t*) len_where)[k];
break;}
4079 case 2: {length = ((
Short_t*) len_where)[k];
break;}
4080 case 3: {length = ((
Int_t*) len_where)[k];
break;}
4081 case 4: {length = ((
Long_t*) len_where)[k];
break;}
4083 case 6: {length = ((
Int_t*) len_where)[k];
break;}
4085 case 11: {length = ((
UChar_t*) len_where)[k];
break;}
4086 case 12: {length = ((
UShort_t*) len_where)[k];
break;}
4087 case 13: {length = ((
UInt_t*) len_where)[k];
break;}
4088 case 14: {length = ((
ULong_t*) len_where)[k];
break;}
4089 case 15: {length = ((
UInt_t*) len_where)[k];
break;}
4090 case 16: {length = ((
Long64_t*) len_where)[k];
break;}
4091 case 17: {length = ((
ULong64_t*)len_where)[k];
break;}
4092 case 18: {length = ((
Bool_t*) len_where)[k];
break;}
4096 if (length <= 0)
continue;
4097 if (isArray == 0)
continue;
4099 case 1: {*where=
new char[
sizeof(
Char_t)*length];
b.ReadFastArray((
Char_t*) *where, length);
break;}
4100 case 2: {*where=
new char[
sizeof(
Short_t)*length];
b.ReadFastArray((
Short_t*) *where, length);
break;}
4101 case 3: {*where=
new char[
sizeof(
Int_t)*length];
b.ReadFastArray((
Int_t*) *where, length);
break;}
4102 case 4: {*where=
new char[
sizeof(
Long_t)*length];
b.ReadFastArray((
Long_t*) *where, length);
break;}
4103 case 5: {*where=
new char[
sizeof(
Float_t)*length];
b.ReadFastArray((
Float_t*) *where, length);
break;}
4104 case 6: {*where=
new char[
sizeof(
Int_t)*length];
b.ReadFastArray((
Int_t*) *where, length);
break;}
4105 case 8: {*where=
new char[
sizeof(
Double_t)*length];
b.ReadFastArray((
Double_t*)*where, length);
break;}
4106 case 11: {*where=
new char[
sizeof(
UChar_t)*length];
b.ReadFastArray((
UChar_t*) *where, length);
break;}
4107 case 12: {*where=
new char[
sizeof(
UShort_t)*length];
b.ReadFastArray((
UShort_t*)*where, length);
break;}
4108 case 13: {*where=
new char[
sizeof(
UInt_t)*length];
b.ReadFastArray((
UInt_t*) *where, length);
break;}
4109 case 14: {*where=
new char[
sizeof(
ULong_t)*length];
b.ReadFastArray((
ULong_t*) *where, length);
break;}
4110 case 15: {*where=
new char[
sizeof(
UInt_t)*length];
b.ReadFastArray((
UInt_t*) *where, length);
break;}
4111 case 16: {*where=
new char[
sizeof(
Long64_t)*length];
b.ReadFastArray((
Long64_t*) *where, length);
break;}
4112 case 17: {*where=
new char[
sizeof(
ULong64_t)*length];
b.ReadFastArray((
ULong64_t*)*where, length);
break;}
4113 case 18: {*where=
new char[
sizeof(
Bool_t)*length];
b.ReadFastArray((
Bool_t*) *where, length);
break;}
4143 for (
Int_t ii=0;ii<
n;ii++) {
4144 b.ReadDouble32(&(xx[ii]),se);
4152 for (
Int_t ii=0;ii<
n;ii++) {
4153 b.ReadFloat16(&(xx[ii]),se);
4159 }
else if (
fType <= 2) {
4179 loc = counter.
Last(
']');
4183 countname += counter;
4189 Warning(
"ReadLeaves",
"Missing fBranchCount for %s. Data will not be read correctly by the MakeClass mode.",
GetName());
4215 for (
Int_t ii=0;ii<
n;ii++) {
4216 b.ReadDouble32(&(xx[ii]),se);
4224 for (
Int_t ii=0;ii<
n;ii++) {
4225 b.ReadFloat16(&(xx[ii]),se);
4277 b.SetBufferOffset(
b.Length()-
sizeof(
n));
4279 Error(
"ReadLeaves",
"Incorrect size read for the container in %s\n\tThe size read is %d while the maximum is %d\n\tThe size is reset to 0 for this entry (%lld)",
GetName(),
n,
fMaximum,
GetReadEntry());
4313 for (
Int_t i = 0; i < nbranches; ++i) {
4341 if( !
fNdata || *(
void**)proxy->
At( 0 ) != 0 )
4346 void **el = (
void**)proxy->
At( i );
4348 *el = elClass->
New();
4352 proxy->
Commit(alternate);
4378 if (info == 0)
return;
4410 if (info == 0)
return;
4441 if (info == 0)
return;
4472 b.SetBufferOffset(
b.Length()-
sizeof(
n));
4474 Error(
"ReadLeaves",
"Incorrect size read for the container in %s\n\tThe size read is %d while the maximum is %d\n\tThe size is reset to 0 for this entry (%lld)",
GetName(),
n,
fMaximum,
GetReadEntry());
4513 if (info==0)
return;
4521 char **end = arr +
fNdata;
4660 Fatal(
"FillLeaves",
"The FillLeaves function has not been configured for %s",
GetName());