643 fStartEntry = fNextEntry;
644 if (fTree->fNClusterRange || fTree->GetAutoFlush() > 0) {
645 if (fClusterRange == fTree->fNClusterRange) {
648 fNextEntry += GetEstimatedClusterSize();
650 if (fStartEntry > fTree->fClusterRangeEnd[fClusterRange]) {
653 if (fClusterRange == fTree->fNClusterRange) {
656 fNextEntry += GetEstimatedClusterSize();
663 if (fNextEntry > fTree->fClusterRangeEnd[fClusterRange]) {
667 fNextEntry = fTree->fClusterRangeEnd[fClusterRange] + 1;
673 fNextEntry = fStartEntry + GetEstimatedClusterSize();
675 if (fNextEntry > fTree->GetEntries()) {
676 fNextEntry = fTree->GetEntries();
687 fNextEntry = fStartEntry;
688 if (fTree->fNClusterRange || fTree->GetAutoFlush() > 0) {
689 if (fClusterRange == 0 || fTree->fNClusterRange == 0) {
692 fStartEntry -= GetEstimatedClusterSize();
697 if (fClusterRange == 0) {
710 fStartEntry = fNextEntry - GetEstimatedClusterSize();
712 if (fStartEntry < 0) {
823, fDefaultEntryOffsetLen(1000)
829, fAutoSave( -300000000)
830, fAutoFlush(-30000000)
832, fClusterRangeEnd(nullptr)
833, fClusterSize(nullptr)
856, fExternalFriends(nullptr)
862, fFriendLockStatus(0)
863, fTransientBuffer(nullptr)
864, fCacheDoAutoInit(
true)
865, fCacheDoClusterPrefetch(
false)
866, fCacheUserSet(
false)
867, fIMTEnabled(
ROOT::IsImplicitMTEnabled())
868, fNEntriesSinceSorting(0)
902 if (title[0] ==
'/') {
2879 Error(
"SetBranchAddress",
"Unable to determine the type given for the address for \"%s\". "
2880 "The class expected (%s) refers to an stl collection and do not have a compiled CollectionProxy. "
2881 "Please generate the dictionary for this class (%s)",
2888 Error(
"SetBranchAddress",
"Unable to determine the type given for the address for \"%s\". "
2889 "The class expected (%s) does not have a dictionary and needs to be emulated for I/O purposes but is being passed a compiled object."
2890 "Please generate the dictionary for this class (%s)",
2893 Error(
"SetBranchAddress",
"Unable to determine the type given for the address for \"%s\". "
2894 "This is probably due to a missing dictionary, the original data class for this branch is %s.",
branch->GetName(),
expectedClass->GetName());
2901 Error(
"SetBranchAddress",
"The address for \"%s\" should be the address of a pointer!",
branch->GetName());
2930 Info(
"SetBranchAddress",
"Matching STL collection (at least according to the SchemaRuleSet when "
2938 Error(
"SetBranchAddress",
"The pointer type given \"%s\" does not correspond to the type needed \"%s\" by the branch: %s",
ptrClass->GetName(),
bEl->GetClassName(),
branch->GetName());
2954 ptrClass->GetCollectionProxy()->GetValueClass() )
2971 Error(
"SetBranchAddress",
"The pointer type given (%s) does not correspond to the class needed (%s) by the branch: %s",
ptrClass->GetName(),
expectedClass->GetName(),
branch->GetName());
2981 Error(
"SetBranchAddress",
"The pointer type given \"%s\" (%d) does not correspond to the type needed \"%s\" (%d) by the branch: %s",
2989 Error(
"SetBranchAddress",
"The pointer type given \"%s\" (%d) does not correspond to the type needed \"%s\" by the branch: %s",
3003 if (
rdm->GetThisOffset() == 0) {
3038 Error(
"SetBranchAddress",
"The pointer type given \"%s\" does not correspond to the type needed \"%s\" (%d) by the branch: %s",
3302 tree->ResetBranchAddress(
br);
3318 branch->SetAddress(
nullptr);
3323 if (
br->GetMakeClass() !=
branch->GetMakeClass())
3324 br->SetMakeClass(
branch->GetMakeClass());
3331 Warning(
"CopyAddresses",
"Could not find branch named '%s' in tree named '%s'",
branch->GetName(), tree->GetName());
3356 tree->ResetBranchAddress(
tbranch);
3364 if (
leaf->GetLeafCount()->GetMaximum() <
tleaf->GetLeafCount()->GetMaximum()) {
3365 leaf->GetLeafCount()->IncludeRange(
tleaf->GetLeafCount() );
3376 leaf->SetAddress(
nullptr);
3378 if (!
branch->GetAddress() && !
leaf->GetValuePointer()) {
3386 branch->SetupAddresses();
3388 if (
branch->GetAddress()) {
3389 tree->SetBranchAddress(
branch->GetName(), (
void*)
branch->GetAddress());
3395 "Branch kind mismatch between input tree '%s' and output tree '%s' for branch '%s': '%s' vs '%s'",
3396 tree->GetName(),
br->GetTree()->GetName(),
br->GetName(),
branch->IsA()->GetName(),
3397 br->IsA()->GetName());
3405 Warning(
"CopyAddresses",
"Could not find branch named '%s' in tree named '%s'",
branch->GetName(), tree->GetName());
3408 tleaf->SetAddress(
leaf->GetValuePointer());
3414 ( tree->IsA()->InheritsFrom(
"TNtuple") || tree->IsA()->InheritsFrom(
"TNtupleD") )
3416 tree->ResetBranchAddresses();
3538 }
else if (opt.
Contains(
"buildindex")) {
3540 }
else if (opt.
Contains(
"dropindex")) {
3553 Warning(
"CopyEntries",
"The cachesize option can not be parsed: %s. The default size will be used.",
cacheSizeStr.String().Data());
3556 const char *
munit =
nullptr;
3559 Warning(
"CopyEntries",
"The cachesize option is too large: %s (%g%s max). The default size will be used.",
cacheSizeStr.String().Data(),
m,
munit);
3562 if (
gDebug > 0 && cacheSize != -1)
Info(
"CopyEntries",
"Using Cache size: %lld\n",cacheSize);
3576 if (tree->LoadTree(i) < 0) {
3593 if (cacheSize != -1)
cloner.SetCacheSize(cacheSize);
3602 if (
cloner.NeedConversion()) {
3617 if (needCopyAddresses)
3618 tree->ResetBranchAddresses();
3624 if (tree->GetDirectory() && tree->GetDirectory()->GetFile()) {
3625 Warning(
"CopyEntries",
"Skipped file %s\n", tree->GetDirectory()->GetFile()->GetName());
3627 Warning(
"CopyEntries",
"Skipped file number %d\n", tree->GetTreeNumber());
3652 if (tree->LoadTree(i) < 0) {
3661 if (tree->GetEntry(i) <= 0) {
3666 if (needCopyAddresses)
3667 tree->ResetBranchAddresses();