45 fListFileName(
""), fListName(
""), fNFiles(0), fListOffset(0), fFile(0), fFileNames(0)
66 fListFileName(filename), fListName(listname), fNFiles(nfiles), fListOffset(0), fFile(0), fFileNames(0)
93 if (index<0)
return -1;
96 Error(
"GetEntry",
"Index value is too large\n");
109 Error(
"GetEntry",
"All lists are empty\n");
137 Error(
"GetEntry",
"Entry number is too big\n");
193 Error(
"Next",
"All lists are empty\n");
216 Error(
"Next",
"Something wrong with reading the current list, even though thefile #%d and the list exist\n",
fTreeNumber);
249 if (filename_short.
Contains(
".root")){
254 filename_short.
Append(
"_elist.root");
277 while ((key=(
TKey*)nextkey())){
308 printf(
"total number of files: %d\n",
fNFiles);
312 Error(
"Print",
"fFileNames was not set properly.");
314 for (
Int_t listnumber=0; listnumber<
fNFiles; listnumber++){
317 if (filename_short.
Contains(
".root")){
322 filename_short.
Append(
"_elist.root");
331 if (
f && !
f->IsZombie()){
334 TIter nextkey(
f->GetListOfKeys());
335 while ((key=(
TKey*)nextkey())){
TList * GetListOfKeys() const override
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
Manages entry lists from different files, when they are not loaded in memory at the same time.
virtual ~TEntryListFromFile()
d-tor
TString fListName
name of the list
virtual Long64_t Next()
Returns the next entry in the list.
virtual Int_t LoadList(Int_t listnumber)
Loads the list #listnumber This is the only function that can modify fCurrent and fFile data members.
TFile * fFile
currently open file fCurrent points to the currently open list
Int_t fNFiles
total number of files
virtual Long64_t GetEntryAndTree(Int_t index, Int_t &treenum)
Return the entry corresponding to the index parameter and the number of the tree, where this entry is...
virtual void Print(const Option_t *option="") const
Print info about this list.
virtual Long64_t GetEntries()
Returns the total number of entries in the list.
TString fListFileName
from this string names of all files can be found
TObjArray * fFileNames
! points to the fFiles data member of the corresponding chain
Long64_t * fListOffset
[fNFiles] numbers of entries in ind. lists
virtual Long64_t GetEntry(Int_t index)
Returns entry #index See also Next() for a faster alternative.
A List of entry numbers in a TTree or TChain.
Long64_t fLastIndexQueried
! used to optimize GetEntry() function from a loop
Int_t fTreeNumber
! the index of the tree in the chain (used when the entry list is used as input (TTree::SetEntryList(...
Long64_t fN
number of entries in the list
Long64_t fLastIndexReturned
! used to optimize GetEntry() function from a loop
virtual Long64_t Next()
Return the next non-zero entry index (next after fLastIndexQueried) this function is faster than GetE...
virtual Long64_t GetEntry(Int_t index)
Return the number of the entry #index of this TEntryList in the TTree or TChain See also Next().
TEntryList * fCurrent
! currently filled entry list
virtual void Print(const Option_t *option="") const
Print this list.
virtual Long64_t GetN() const
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
Book space in a file, create I/O buffers, to fill them, (un)compress them.
virtual const char * GetClassName() const
virtual TObject * ReadObj()
To read a TObject* from the file.
The TNamed class is the base class for all named ROOT classes.
virtual const char * GetTitle() const
Returns title of object.
TObject * At(Int_t idx) const
R__ALWAYS_INLINE Bool_t IsZombie() const
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
TString & Remove(Ssiz_t pos)
TString & Append(const char *cs)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
static constexpr Long64_t kMaxEntries