12#ifndef ROOT_TEntryListArray
13#define ROOT_TEntryListArray
52 TEntryListArray(
const char *
name,
const char *title,
const char *treename,
const char *filename);
66 return Enter(entry, tree, -1);
68 bool Enter(
Long64_t entry,
const char *treename,
const char *filename)
override
70 return Enter(entry, treename, filename, -1);
77 return Remove(entry, tree, -1);
79 void Reset()
override;
81 void SetTree(
const char *treename,
const char *filename)
override;
int Int_t
Signed integer 4 bytes (int).
long long Long64_t
Portable signed long integer 8 bytes.
const char Option_t
Option string (const char).
#define ClassDefOverride(name, id)
Collection abstract base class.
Describe directory structure in memory.
A list of entries and subentries in a TTree or TChain.
virtual TEntryListArray * GetSubListForEntry(Long64_t entry, TTree *tree=nullptr)
Return the list holding the subentries for the given entry or 0.
virtual bool RemoveSubList(TEntryListArray *e, TTree *tree=nullptr)
Remove the given sublist and return true if succeeded.
~TEntryListArray() override
d-tor
void SetTree(const TTree *tree) override
bool Remove(Long64_t entry, TTree *tree=nullptr) override
void Print(const Option_t *option="") const override
Print this list.
void SetTree(const char *treename, const char *filename) override
If a list for a tree with such name and filename exists, sets it as the current sublist If not,...
void Reset() override
Reset all entries and remove all sublists.
Int_t Contains(Long64_t entry, TTree *tree=nullptr) override
void Init()
Initialize data members, called by Reset.
virtual TEntryListArray * SetEntry(Long64_t entry, TTree *tree=nullptr)
Create a sublist for the given entry and returns it --> should be called after calling GetSubListForE...
TEntryListArray * fLastSubListQueried
! last sublist checked by GetSubListForEntry
TEntryListArray & operator=(const TEntryListArray &)
bool Enter(Long64_t entry, const char *treename, const char *filename) override
TList * fSubLists
a list of underlying entry lists for each event of a TEntryList
TEntryListArray()
Default c-tor.
virtual bool RemoveSubListForEntry(Long64_t entry, TTree *tree=nullptr)
Remove the sublists for the given entry --> not being used...
virtual void ConvertToTEntryListArray(TEntryList *e)
Create a TEntryListArray based on the given TEntryList Called by SetTree when the given list is added...
void Subtract(const TEntryList *elist) override
Remove all the entries (and subentries) of this entry list that are contained in elist.
Long64_t fEntry
the entry number, when the list is used for subentries
void Add(const TEntryList *elist) override
Add 2 entry lists.
virtual TList * GetSubLists() const
virtual Int_t Contains(Long64_t entry, TTree *tree, Long64_t subentry)
virtual void AddEntriesAndSubLists(const TEntryList *elist)
The method that really adds two entry lists with sublists If lists are split (fLists !...
virtual bool Enter(Long64_t entry, TTree *tree, Long64_t subentry)
Add entry #entry (, #subentry) to the list.
bool Enter(Long64_t entry, TTree *tree=nullptr) override
TIter * fSubListIter
! to iterate over fSubLists and keep last one checked
virtual bool Remove(Long64_t entry, TTree *tree, Long64_t subentry)
Remove entry #entry (, #subentry) from the list.
virtual Int_t Contains(Long64_t entry, TTree *tree=nullptr)
virtual void SetTree(const TTree *tree)
A TTree represents a columnar dataset.