//*-- Author : Jochen Markert 18.07.2007 #ifndef __HLOOP_H__ #define __HLOOP_H__ #include "TFile.h" #include "TTree.h" #include "TChain.h" #include "htree.h" #include "heventheader.h" #include "hrecevent.h" #include "hcategory.h" #include using namespace std; class HLoop : public TObject { private: TChain* fChain; // chain HEventHeader* fHead; // pointer to HADES event header map fEvent; // map category name -> HCategory pointer map fStatus; // map category name -> status map fPartial; // map category name -> partial event map fNameToCat; // map category name -> category number Long64_t fMaxEntries; // total number of entries in the chain Long64_t fCurrentEntry; // current entry in chain TString fCurrentName; // current file name TFile* fFileCurrent; // current file pointer TTree* fTree; // current Tree of the chain HRecEvent* fRecEvent; // HADES event under reconstruction Bool_t fHasCreatedHades; // remember if this class has created HADES Bool_t setStatus(TString catname, Int_t stat ); Bool_t addCatName(TString catname,Short_t catNum); public: HLoop(Bool_t createHades=kFALSE); ~HLoop(); Bool_t addFile (TString infile); Bool_t addFiles (TString expression); Bool_t addFilesList(TString filelist); HEventHeader* getEventHeader() { return fHead; } TChain* getChain () { return fChain; } TTree* getTree () { return fTree; } Long64_t getEntries () { return fMaxEntries; } HCategory* getCategory (TString catname,Bool_t silent = kFALSE); Bool_t getCategoryStatus(TString catname,Bool_t silent = kFALSE); Bool_t setInput(TString readCategories = ""); void clearCategories(); Int_t nextEvent(Int_t iev); void printCategories(); void printChain(); void printBranchStatus(); ClassDef(HLoop,0) // simple class to fastly loop dst's }; #endif /* !__HLOOP_H__ */