#ifndef CBMRICHMIRRORSORTING_H #define CBMRICHMIRRORSORTING_H #include "FairTask.h" #include "CbmRichRingFitterCOP.h" #include "CbmRichRingFitterEllipseTau.h" #include "CbmRichMirror.h" #include "TGeoNavigator.h" #include #include #include using namespace std; class TClonesArray; class TH1D; class TH2D; class CbmRichMirrorSorting : public FairTask { public: /* * Constructor. */ CbmRichMirrorSorting(); /* * Destructor. */ virtual ~CbmRichMirrorSorting(); /** * \brief Inherited from FairTask. */ virtual InitStatus Init(); /** * \brief Inherited from FairTask. */ virtual void Exec( Option_t* option); void setOutputDir(TString s) { fOutputDir = s; } void ComputeAngles(); void GetTrackPosition(Double_t &trackX, Double_t &trackY); void GetPmtNormal(Int_t NofPMTPoints, vector &normalPMT, Double_t &normalCste); void ComputeR2(vector &ptR2Center, vector &ptR2Mirr, vector ptM, vector ptC, vector ptR1, TGeoNavigator* navi, TString s); void ComputeP(vector &ptPMirr, vector &ptPR2, vector normalPMT, vector ptM, vector ptR2Mirr, Double_t constantePMT); /** * \brief Inherited from FairTask. */ virtual void Finish(); private: UInt_t fEventNb; TClonesArray* fGlobalTracks; TClonesArray* fRichRings; TClonesArray* fMCTracks; CbmRichRingFitterCOP* fCopFit; CbmRichRingFitterEllipseTau* fTauFit; TString fOutputDir; TClonesArray* fMirrorPoints; TClonesArray* fRefPlanePoints; TClonesArray* fPmtPoints; TClonesArray* fRichProjections; CbmRichMirrorSorting(const CbmRichMirrorSorting&); CbmRichMirrorSorting operator=(const CbmRichMirrorSorting&); ClassDef(CbmRichMirrorSorting, 1); }; #endif