#ifndef PNDEVENTLOOP_H #define PNDEVENTLOOP_H 1 #include #include #include "TString.h" #include "RhoBase/TCandList.h" class TChain; class TClonesArray; class PndPidListMaker; class PndEventLoop { public: //PndEventLoop(std::string treename="cbmsim"); PndEventLoop(TChain *t); PndEventLoop(std::string fname, std::string treename="cbmsim"); PndEventLoop(TString fname, TString treename="cbmsim"); PndEventLoop(const char* fname, const char* treename="cbmsim"); ~PndEventLoop(); Int_t Add(TString fname) { Add(fname.Data());} Int_t Add(std::string fname) { Add(fname.c_str());} Int_t Add(const char* fname); Int_t Add(TChain *chain); void Reset(); int GetEvent(int n=-1); int GetEntries(); bool FillList(TCandList &l, std::string listkey="All"); private: void Init(); // Private Member Variables int fEvtCount; int fChainEntries; std::string fTreeName; TChain *fOwnChain; bool fOwnTree; PndPidListMaker *fPidListMaker; TClonesArray *fChargedCands; TClonesArray *fNeutralCands; TClonesArray *fMcCands; TCandList allCands; TCandList chargedCands; TCandList neutralCands; TCandList mcCands; ClassDef(PndEventLoop,1); }; #endif