3 ////////////////////////////////////////////////
4 // Manager class for AliTPCPRF2D //
5 ////////////////////////////////////////////////
8 // include files and class forward declarations
10 //NPRF in number of interpolation points
18 class AliTPCPRF2D : public TObject {
23 Float_t GetGRF(Float_t xin, Float_t yin);
24 //return generic response function in xin
25 Float_t GetPRF(Float_t xin, Float_t yin, Bool_t inter=kFALSE);
26 //return PRF in point xin,yin
27 void SetY(Float_t y1, Float_t y2, Int_t nYdiv) ;
28 void DrawX(Float_t x1, Float_t x2,Float_t y, Bool_t inter=kFALSE);
29 //draw one dimensional response for
31 // void DrawY(Float_t y1, Float_t y2,Float_t x);
32 //draw one dimensional response for fixed x
33 void Draw(Option_t *) {}
34 void Draw(Float_t x1, Float_t x2, Float_t y1, Float_t y2,
35 Bool_t inter=kFALSE, Int_t Nx=20, Int_t Ny=20);
36 //draw two dimensional PRF
38 void DrawDist(Float_t x1, Float_t x2, Float_t y1, Float_t y2,
39 Bool_t inter=kFALSE, Int_t Nx=20, Int_t Ny=20,
41 //draw distortion of COG method
42 //we suppose threshold equal to thr
44 void SetGauss(Float_t sigmaX,Float_t sigmaY , Float_t kNorm=1);
45 //adjust PRF with GAUSIAN as generic GRF
46 //if direct = kTRUE then it does't convolute distribution
47 void SetCosh(Float_t sigmaX,Float_t sigmaY , Float_t kNorm=1);
48 //adjust PRF with 1/Cosh as generic GRF
49 void SetGati(Float_t K3X, Float_t K3Y,
52 void SetParam(TF2 * GRF,Float_t kNorm,
53 Float_t sigmaX=0, Float_t sigmaY=0);
54 void SetPad(Float_t width, Float_t height);
55 //set base chevron parameters
56 void SetChevron(Float_t hstep, Float_t shifty, Float_t fac);
57 //set chevron parameters
58 void SetChParam(Float_t width, Float_t height,
59 Float_t hstep, Float_t shifty, Float_t fac);
60 //set all geometrical parameters
61 void SetNdiv(Int_t Ndiv){fNdiv=Ndiv;}
65 Float_t GetPRFActiv(Float_t xin); //return PRF in point xin and actual y
66 Float_t * fcharge; // field with PRF
70 Float_t * ffcharge; //pointer to array of arrays
73 Double_t funParam[5];//parameters of used charge function
74 Int_t fNPRF; //number of interpolations point
75 Int_t fNdiv; //number of division to calculate integral
76 Float_t fDStep; //element step for point
77 Float_t fkNorm; //normalisation factor of the charge integral
78 Float_t fInteg; //integral of GRF on +- infinity
79 TF2 * fGRF; //charge distribution function
85 Float_t forigsigmaX;//sigma of original distribution;
86 Float_t forigsigmaY;//sigma of original distribution;
87 Float_t fSigmaX; //sigma of PAD response function
88 //calculated during update
91 Float_t fHeightFull; //height of the full pad
92 Float_t fHeightS; //height of the one step
93 Float_t fShiftY; //shift of the step
94 Float_t fWidth; //width of the pad
95 Float_t fK; //k factor of the chewron
96 Float_t fActualY; //in reality we calculate PRF only for
98 char fType[5]; //charge type
99 //to make calculation faster we reduce division
100 Float_t fDYtoWire; //used to make PRF calculation faster in GetPRF
101 Float_t fDStepM1; //used in GetPRFActiv
102 ClassDef(AliTPCPRF2D,1)
105 #endif /* ALITPCPRF2D_H */