12 #ifndef ROOT_TEntryList
13 #define ROOT_TEntryList
25 class TEntryList:
public TNamed
28 TEntryList& operator=(
const TEntryList&);
37 Long64_t fEntriesToProcess;
44 Long64_t fLastIndexQueried;
45 Long64_t fLastIndexReturned;
48 TDirectory *fDirectory;
51 void GetFileName(
const char *filename, TString &fn, Bool_t * = 0);
54 enum {kBlockSize = 64000};
57 TEntryList(
const char *name,
const char *title);
58 TEntryList(
const char *name,
const char *title,
const TTree *tree);
59 TEntryList(
const char *name,
const char *title,
const char *treename,
const char *filename);
60 TEntryList(
const TTree *tree);
61 TEntryList(
const TEntryList& elist);
62 virtual ~TEntryList();
64 virtual void Add(
const TEntryList *elist);
65 virtual Int_t Contains(Long64_t entry, TTree *tree = 0);
66 virtual void DirectoryAutoAdd(TDirectory *);
67 virtual Bool_t Enter(Long64_t entry, TTree *tree = 0);
68 virtual TEntryList *GetCurrentList()
const {
return fCurrent; };
69 virtual TEntryList *GetEntryList(
const char *treename,
const char *filename, Option_t *opt=
"");
70 virtual Long64_t GetEntry(Int_t index);
71 virtual Long64_t GetEntryAndTree(Int_t index, Int_t &treenum);
72 virtual Long64_t GetEntriesToProcess()
const {
return fEntriesToProcess;}
73 virtual TList *GetLists()
const {
return fLists; }
74 virtual TDirectory *GetDirectory()
const {
return fDirectory; }
75 virtual Long64_t GetN()
const {
return fN; }
76 virtual const char *GetTreeName()
const {
return fTreeName.Data(); }
77 virtual const char *GetFileName()
const {
return fFileName.Data(); }
78 virtual Int_t GetTreeNumber()
const {
return fTreeNumber; }
79 virtual Bool_t GetReapplyCut()
const {
return fReapply; };
81 Bool_t IsValid()
const
83 if ((fLists || fBlocks))
return kTRUE;
87 virtual Int_t Merge(TCollection *list);
89 virtual Long64_t Next();
90 virtual void OptimizeStorage();
91 virtual Int_t RelocatePaths(
const char *newloc,
const char *oldloc = 0);
92 virtual Bool_t Remove(Long64_t entry, TTree *tree = 0);
94 virtual Int_t ScanPaths(TList *roots, Bool_t notify = kTRUE);
96 virtual void Print(
const Option_t* option =
"")
const;
97 virtual void SetDirectory(TDirectory *dir);
98 virtual void SetEntriesToProcess(Long64_t nen) { fEntriesToProcess = nen; }
99 virtual void SetShift(Bool_t shift) { fShift = shift; };
100 virtual void SetTree(
const TTree *tree);
101 virtual void SetTree(
const char *treename,
const char *filename);
102 virtual void SetTreeName(
const char *treename){ fTreeName = treename; };
103 virtual void SetFileName(
const char *filename){ fFileName = filename; };
104 virtual void SetTreeNumber(Int_t index) { fTreeNumber=index; }
105 virtual void SetReapplyCut(Bool_t apply = kFALSE) {fReapply = apply;};
106 virtual void Subtract(
const TEntryList *elist);
108 static Int_t Relocate(
const char *fn,
109 const char *newroot,
const char *oldroot = 0,
const char *enlnm = 0);
110 static Int_t Scan(
const char *fn, TList *roots);
113 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
114 #pragma GCC diagnostic push
115 #pragma GCC diagnostic ignored "-Weffc++"
117 friend TEntryList operator||(TEntryList& elist1, TEntryList& elist2);
118 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
119 #pragma GCC diagnostic pop
122 ClassDef(TEntryList, 2);