//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Correction of CdcSpacepoints // // // Environment: // Software NOT developed for the PANDA Detector at FAIR. // // Author List: // Sverre Doerheim TUM (original author) // // //----------------------------------------------------------- #ifndef CDCCORRECTIONTASK_HH #define CDCCORRECTIONTASK_HH // Base Class Headers ---------------- #include "FairTask.h" // Collaborating Class Declarations -- #include "TString.h" #include "TH2D.h" #include "TVector3.h" #include "map" class TClonesArray; class TpcDigiPar; class CdcCorrectionTask : public FairTask { public: // Constructors/Destructors --------- CdcCorrectionTask(); virtual ~CdcCorrectionTask(); // Operators // Accessors ----------------------- double GetCdcVdr() const; double GetCdcLorentz() const; double GetCdcT0() const; double GetCdcT0Corr() const; // Modifiers ----------------------- void SetCdcVdr(double value);//in cm/ns void SetCdcLorentz(double value);//in degree void SetCdcT0(double value); //in ns void SetCdcT0Corr(double value);//in ns void SetCopyPersistence(bool persistence, TString branchName) {fpersistence=persistence;fCdcHitOutBranchName=branchName;fcopy=true;} void SetCdcHitBranchName(const TString& n) {fCdcHitBranchName=n;} void SetCorrection(double correction){fCorrectionFactor=correction;} void SetCorrectionFile(const TString& cf){fCorrFileName=cf;} // Operations ---------------------- virtual InitStatus Init(); virtual void SetParContainers(); virtual void Exec(Option_t* opt); TVector3 GetCorrectionVector(int sector); void SetEnableFlightTimeCorr(bool opt){fFlightTimeCorr=opt;} private: bool fpersistence; bool fcopy; // Private Data Members ------------ TString fCdcHitBranchName; TString fCdcHitOutBranchName; TString fCorrFileName; TClonesArray* fCdcHitArray; TClonesArray* fCdcHitOutArray; TpcDigiPar* fPar; double fCorrectionFactor; std::map correctionVectors; std::map driftVectors; std::map negCorrectionVectors; std::map negDriftVectors; std::map fCorrectionsZ; int readCorrFile(const TString&); double fCdcVdr; double fCdcLorentz; double fCdcT0; double fCdcT0Corr; bool fFlightTimeCorr; public: ClassDef(CdcCorrectionTask,2) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------