1 #ifndef CbmRichCorrectionVector_H
2 #define CbmRichCorrectionVector_H
13 #include "TGeoNavigator.h"
29 static const int kMAX_NOF_HITS = 100;
45 virtual InitStatus Init();
50 virtual void Exec(Option_t* option);
55 virtual void Finish();
60 void InitHistProjection();
65 void InitHistAlignment();
70 void CalculateAnglesAndDrawDistrib();
75 void GetTrackPosition(Double_t&
x, Double_t&
y);
85 void FillPMTMap(
const Char_t* mirr_path,
CbmRichPoint* pPoint);
91 FillPMTMapEllipse(
const Char_t* mirr_path, Float_t CenterX, Float_t CenterY);
96 void ProjectionProducer(TClonesArray* projectedPoint);
101 void GetPmtNormal(Int_t NofPMTPoints,
102 vector<Double_t>& normalPMT,
103 Double_t& normalCste);
108 void GetMeanSphereCenter(TGeoNavigator* navi, vector<Double_t>& ptC);
113 void GetMirrorIntersection(vector<Double_t>& ptM,
114 vector<Double_t> ptR1,
115 vector<Double_t> momR1,
116 vector<Double_t> ptC,
117 Double_t sphereRadius);
124 void ComputeR2(vector<Double_t>& ptR2Center,
125 vector<Double_t>& ptR2Mirr,
126 vector<Double_t> ptM,
127 vector<Double_t> ptC,
128 vector<Double_t> ptR1);
135 void ComputeP(vector<Double_t>& ptPMirr,
136 vector<Double_t>& ptPR2,
137 vector<Double_t> normalPMT,
138 vector<Double_t> ptM,
139 vector<Double_t> ptR2Mirr,
140 Double_t normalCste);
145 void FillHistProjection(TVector3 outPos,
146 TVector3 outPosUnCorr,
147 Int_t NofGlobalTracks,
148 vector<Double_t> normalPMT,
149 Double_t constantePMT);
151 void RotateAndCopyHitsToRingLight(
const CbmRichRing* ring1,
157 void DrawHistAlignment();
162 void DrawFit(vector<Double_t>& outputFit, Int_t thresh);
168 void DrawHistMapping();
173 void DrawHistProjection();
178 void DrawHistFromFile(TString fileName);