//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Reading data from the FOPI CDC and provide it to // the framework // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Felix Boehmer TUM (original author) // // //----------------------------------------------------------- #ifndef FOPIDATAREADER_HH #define FOPIDATAREADER_HH #include "FairTask.h" #include "TString.h" //#include "TpcEventIdentifier.h" class TClonesArray; class TFile; class TTree; class TTreeIndex; class TpcEventIdentifier; class FopiDataReaderTask : public FairTask { public: // Constructors / Destructors FopiDataReaderTask(); ~FopiDataReaderTask(); // Accessors //set general persistence and ALL individual branch persistencies void SetPersistence(Bool_t opt=kTRUE); //individual branch persistencies override general fPersistence void SetCdcHitPersistence(Bool_t opt=kTRUE) {fCdcHitPersistence=opt;} void SetCdcTrackPersistence(Bool_t opt=kTRUE) {fCdcTrackPersistence=opt;} void SetRpcTrackPersistence(Bool_t opt=kTRUE) {fRpcTrackPersistence=opt;} void SetHeliHitPersistence(Bool_t opt=kTRUE) {fHeliHitPersistence=opt;} void SetHeliHitAllPersistence(Bool_t opt=kTRUE) {fHeliHitAllPersistence=opt;} void SetHeliTrackPersistence(Bool_t opt=kTRUE) {fHeliTrackPersistence=opt;} void SetPlawaHitAllPersistence(Bool_t opt=kTRUE) {fPlawaHitAllPersistence=opt;} void SetPlawaTrackPersistence(Bool_t opt=kTRUE) {fPlawaTrackPersistence=opt;} void SetInputFile(const TString& name) {fInputFileName=name;} //TODO: implement void SetInputChain(const TChain* ch) {;} //stub void SetFopiTreeName(const TString& n) {fFopiTreeName=n;} void SetCdcHitInBranchName(const TString& s) {fCdcHitInBranch=s;} void SetCdcTrackInBranchName(const TString& s) {fCdcTrackInBranch=s;} void SetRpcTrackInBrachName(const TString& s) {fRpcTrackInBranch=s;} void SetHeliHitInBranchName(const TString& s) {fHeliHitInBranch=s;} void SetHeliTrackInBranchName(const TString& s) {fHeliTrackInBranch=s;} void SetPlawaTrackInBrachName(const TString& s) {fPlawaTrackInBranch=s;} void SetBarrelTrackInBrachName(const TString& s) {fBarrelTrackInBranch=s;} void SetFopiEventInBranchName(const TString& s) {fFopiEventInBranch=s;} void SetTpcEventIDBranchName(const TString& s) {fTpcEventIDBranch=s;} void SetBarrelOn(Bool_t bOpt=kTRUE) {fBarrelOn=bOpt;} //temporary hack to disable (broken) heli track data void SetDisableHeliTracks(Bool_t opt=kTRUE) {fDisableHeliTracks=opt;} // Methods virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers() {;} void SetDebug(bool opt) {DEBUG=opt;} private: Bool_t fPersistence; Bool_t fCdcHitPersistence; Bool_t fCdcTrackPersistence; Bool_t fRpcTrackPersistence; Bool_t fHeliHitPersistence; Bool_t fHeliHitAllPersistence; Bool_t fHeliTrackPersistence; Bool_t fPlawaHitAllPersistence; Bool_t fPlawaTrackPersistence; Bool_t fBarrelOn; TString fInputFileName; TFile* fInputFile; unsigned int fNFopiEvents; TString fCdcHitInBranch; TString fCdcTrackInBranch; TString fRpcTrackInBranch; TString fHeliHitInBranch; TString fHeliTrackInBranch; TString fPlawaTrackInBranch; TString fHeliHitAllInBranch; TString fPlawaHitAllInBranch; TString fBarrelTrackInBranch; TString fFopiEventInBranch; TString fTpcEventIDBranch; TString fFopiTreeName; TClonesArray* fCdcTrackArray; TClonesArray* fRpcTrackArray; TClonesArray* fHeliTrackArray; TClonesArray* fPlawaTrackArray; TClonesArray* fBarrelTrackArray; TClonesArray* fCdcHitArray; TClonesArray* fHeliHitArray; TClonesArray* fHeliHitAllArray; TClonesArray* fPlawaHitAllArray; TClonesArray* fFopiEventArray; TClonesArray* fTpcEventID; TClonesArray* fCdcHitInArray; TClonesArray* fCdcTrackInArray; TClonesArray* fRpcTrackInArray; TClonesArray* fBarrelTrackInArray; TClonesArray* fHeliHitInArray; TClonesArray* fHeliTrackInArray; TClonesArray* fPlawaTrackInArray; TClonesArray* fHeliHitAllInArray; TClonesArray* fPlawaHitAllInArray; TClonesArray* fFopiEventInArray; TTree* fFopiTree; TTreeIndex* fFopiIndex; //the tree has ownership bool DEBUG; bool fDisableHeliTracks; public: ClassDef(FopiDataReaderTask,2) }; #endif