13 #ifndef ROOT_TEventIter
14 #define ROOT_TEventIter
42 class TEventIter :
public TObject {
45 enum EIterType { kData = 15};
54 Long64_t fOldBytesRead;
66 TEventList *fEventList;
68 TEntryList *fEntryList;
69 Long64_t fEntryListPos;
74 virtual void PreProcessEvent(Long64_t) { }
78 TEventIter(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num);
79 virtual ~TEventIter();
81 virtual Long64_t GetCacheSize() = 0;
82 virtual Int_t GetLearnEntries() = 0;
83 virtual Long64_t GetNextEvent() = 0;
84 virtual Int_t GetNextPacket(Long64_t &first, Long64_t &num) = 0;
85 virtual void InvalidatePacket();
86 virtual Long64_t GetEntryNumber(Long64_t);
87 virtual void StopProcess(Bool_t abort);
89 TList *GetPackets() {
return fPackets; }
91 static TEventIter *Create(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num);
93 ClassDef(TEventIter,0)
99 class TEventIterUnit :
public TEventIter {
108 TEventIterUnit(TDSet *dset, TSelector *sel, Long64_t num);
109 ~TEventIterUnit() { }
111 Long64_t GetCacheSize() {
return -1;}
112 Int_t GetLearnEntries() {
return -1;}
113 Long64_t GetNextEvent();
114 Int_t GetNextPacket(Long64_t &first, Long64_t &num);
116 ClassDef(TEventIterUnit,0)
122 class TEventIterObj :
public TEventIter {
131 void PreProcessEvent(Long64_t);
135 TEventIterObj(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num);
138 Long64_t GetCacheSize() {
return -1;}
139 Int_t GetLearnEntries() {
return -1;}
140 Long64_t GetNextEvent();
141 Int_t GetNextPacket(Long64_t &first, Long64_t &num);
143 ClassDef(TEventIterObj,0)
148 class TEventIterTree :
public TEventIter {
153 TTreeCache *fTreeCache;
154 Bool_t fTreeCacheIsLearning;
155 Bool_t fUseTreeCache;
157 Bool_t fUseParallelUnzip;
158 Bool_t fDontCacheFiles;
162 class TFileTree :
public TNamed {
168 TFileTree(
const char *name, TFile *f, Bool_t islocal);
169 virtual ~TFileTree();
172 TTree* Load(TDSetElement *elem, Bool_t &localfile,
const char *objname = 0);
173 TTree* GetTrees(TDSetElement *elem);
176 void PreProcessEvent(Long64_t ent);
180 TEventIterTree(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num);
183 Long64_t GetCacheSize();
184 Int_t GetLearnEntries();
185 Long64_t GetNextEvent();
186 Int_t GetNextPacket(Long64_t &first, Long64_t &num);
188 ClassDef(TEventIterTree,0)