#ifndef PNDANALYSIS_H #define PNDANALYSIS_H 1 #include #include #include "TString.h" #include "TCandList.h" #include "FairRootManager.h" class TChain; class TClonesArray; class TBranch; class TDatabasePDG; class PndPidListMaker; class PndEventInfo; class TGeant3; class PndAnalysis { public: PndAnalysis(); virtual ~PndAnalysis(); void Rewind(); void Reset() { Rewind(); } Int_t GetEvent(Int_t n=-1); Int_t GetEntries(); Bool_t FillList(TCandList &l, std::string listkey="All"); void SetVerbose(Int_t level){fVerbose = level;} void SetPidChargedName(TString s) {fChargedPidName = s;} void SetPidNeutralName(TString s) {fNeutralPidName = s;} Bool_t PropagateToIp(TCandidate* cand); Bool_t PropagateToZAxis(TCandidate* cand); Bool_t PropagateToPoint(TCandidate* cand, TVector3* mypoint); private: void Init(); void BuildMcCands(); TClonesArray* ReadTCA(TString tcaname); Bool_t Propagator(int mode, TCandidate* cand, TVector3* point); // Private Member Variables FairRootManager *fRootManager; PndPidListMaker *fPidListMaker; Int_t fEvtCount; Int_t fChainEntries; Bool_t fEventRead; Bool_t fBuildMcCands; Int_t fVerbose; TDatabasePDG *fPdg; TClonesArray *fChargedCands; TClonesArray *fNeutralCands; TClonesArray *fChargedProbability; TClonesArray *fNeutralProbability; TClonesArray *fTracks; TClonesArray *fMcCands; TClonesArray *fMcTracks; TCandList allCands; TCandList chargedCands; TCandList neutralCands; TCandList mcCands; TString fChargedPidName; TString fNeutralPidName; ClassDef(PndAnalysis,0); }; #endif