#ifndef ROOT_TEventIter
#define ROOT_TEventIter
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif
class TDSet;
class TDSetElement;
class TFile;
class TDirectory;
class TSelector;
class TList;
class TIter;
class TTree;
class TTreeCache;
class TEventList;
class TEntryList;
class TEventIter : public TObject {
protected:
   TDSet         *fDSet;         
   TDSetElement  *fElem;         
   TString        fFilename;     
   TFile         *fFile;         
   Long64_t       fOldBytesRead; 
   TString        fPath;         
   TDirectory    *fDir;          
   Long64_t       fElemFirst;    
   Long64_t       fElemNum;      
   Long64_t       fElemCur;      
   TSelector     *fSel;          
   Long64_t       fFirst;        
   Long64_t       fNum;          
   Long64_t       fCur;          
   Bool_t         fStop;         
   TEventList    *fEventList;    
   Int_t          fEventListPos; 
   TEntryList    *fEntryList;    
   Long64_t       fEntryListPos; 
   Int_t          LoadDir();     
public:
   TEventIter();
   TEventIter(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num);
   virtual ~TEventIter();
   virtual Long64_t  GetNextEvent() = 0;
   virtual void      StopProcess(Bool_t abort);
   static TEventIter *Create(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num);
   ClassDef(TEventIter,0)  
};
class TEventIterUnit : public TEventIter {
private:
 Long64_t fNum;
 Long64_t fCurrent;
public:
   TEventIterUnit();
   TEventIterUnit(TDSet *dset, TSelector *sel, Long64_t num);
   ~TEventIterUnit() { }
   Long64_t GetNextEvent();
   ClassDef(TEventIterUnit,0)  
};
class TEventIterObj : public TEventIter {
private:
   TString  fClassName;    
   TList   *fKeys;         
   TIter   *fNextKey;      
   TObject *fObj;          
public:
   TEventIterObj();
   TEventIterObj(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num);
   ~TEventIterObj();
   Long64_t GetNextEvent();
   ClassDef(TEventIterObj,0)  
};
class TEventIterTree : public TEventIter {
private:
   TString     fTreeName;     
   TTree      *fTree;         
   TTreeCache *fTreeCache;    
   Bool_t      fUseTreeCache; 
   Long64_t    fCacheSize;    
   TList      *fFileTrees;    
   
   class TFileTree : public TNamed {
   public:
      Bool_t    fUsed;
      TFile    *fFile;
      TList    *fTrees;
      TFileTree(const char *name, TFile *f);
      virtual ~TFileTree();
   };
   TTree* Load(TDSetElement *elem);
   TTree* GetTrees(TDSetElement *elem);
public:
   TEventIterTree();
   TEventIterTree(TDSet *dset, TSelector *sel, Long64_t first, Long64_t num);
   ~TEventIterTree();
   Long64_t GetNextEvent();
   ClassDef(TEventIterTree,0)  
};
#endif
Last change: Mon Oct 27 08:11:41 2008
Last generated: 2008-10-27 08:11
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.