//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Conversion of CdcTracks into GFtrack objects // plus initialization // // Environment: // Software developed for the GEM-TPC in FOPI // // Author List: // Francesco Cusanno TUM (original author) // Felix Boehmer, E18 TUM (Overhaul) // //----------------------------------------------------------- #ifndef FOPITRACKINITTASK_HH #define FOPITRACKINITTASK_HH #include "FairTask.h" #include #include class TClonesArray; class CdcHit; //class CdcSpacepoint; class GFAbsRecoHit; class FopiTrackInitTask : public FairTask { public: // Constructors/Destructors --------- FopiTrackInitTask(); virtual ~FopiTrackInitTask(); // Modifiers ----------------------- void SetHitBranchName(const TString& name) {fHitBranchName=name;} void SetTrackBranchName(const TString& cdctrk){fTrackBranchName=cdctrk;} void SetOutBranchName(const TString& t) {fOutBranchName=t;} void SetRecoHitOutBranchName(const TString& t) {fRHOutBranchName=t;} void SetMinCDCHits(int n) {fMinCDCHits=n;} void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} //write out recoHits? //needed if you want to use Cands with PseudoSPs void SetAllRecoHitPersistence(Bool_t opt=kTRUE) {fArhPersistence=opt;} //write out ALL recoHits? void SetTrackPersistence(Bool_t opt = kTRUE) {fTrackPersistence=opt;} void SetSmoothing(bool s=true) {fSmoothing=s;} void SetVerbose(bool v=true) {fVerbose=v;} void SetCdcPID(bool pdg=false){fPDG=pdg;} void SetPiKaonThresh(float t){fPiKaonThresh=t;} void SetKaonProtThresh(float t){fKaonProtThresh=t;} void SetUsePseudoSPHits(Bool_t opt=kTRUE) {fUsePseudoSP=opt;} void SetWeightedPlaneConstruction(Bool_t opt=kTRUE){_weightedPlaneConstruction=opt;} void SetCutCov(Bool_t opt=kTRUE){_cutCov=opt;} void SetConstantPointErrors(double ex, double ey, double ez); void SetExtrapToZ(bool opt){fExtrapToZ=opt;} // Operations ---------------------- virtual InitStatus Init(); virtual void Exec(Option_t* opt); private: // Private Data Members ------------ TString fHitBranchName; TString fTrackBranchName; // CDC Track input TString fOutBranchName; // GFTrack output TString fRHOutBranchName; // Recohit (CdcSpacepoint) output TClonesArray* fHitArray; TClonesArray* fTrackArray; TClonesArray* fOutArray; //GFTrack out TClonesArray* fRHOutArray; //GFTrack out Bool_t fPersistence; Bool_t fArhPersistence; Bool_t fTrackPersistence; Bool_t fSmoothing; Bool_t fVerbose; Bool_t fPDG; Bool_t fUsePseudoSP; Bool_t _weightedPlaneConstruction; Bool_t _cutCov; int fCounter; int fCdcBrId; int fPspBrId; int fMinCDCHits; double fEx, fEy, fEz; bool fConstantErrors; float fPiKaonThresh; float fKaonProtThresh; std::map fRecoHitMap; std::set fToWrite; Bool_t fExtrapToZ; public: ClassDef(FopiTrackInitTask,5) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------