3 ////////////////////////////////////////////////
4 // Manager class for AliTPCRF1D //
5 ////////////////////////////////////////////////
8 // include files and class forward declarations
10 //NPRF in number of interpolation points
12 const Float_t RFDSTEP=0.01;
19 class AliTPCRF1D : public TObject {
21 AliTPCRF1D(Bool_t direct=kFALSE,Int_t np=NRF,Float_t step=RFDSTEP );
23 Float_t GetRF(Float_t xin); //return RF in point xin
24 Float_t GetGRF(Float_t xin); //return generic response function in xin
25 void SetGauss(Float_t sigma,Float_t padWidth, Float_t kNorm);
26 //adjust RF with GAUSIAN as generic GRF
27 //if direct = kTRUE then it does't convolute distribution
28 void SetCosh(Float_t sigma,Float_t padWidth, Float_t kNorm);
29 void SetGati(Float_t K3, Float_t padDistance, Float_t padWidth,
31 //adjust RF with 1/Cosh as generic GRF
32 void SetParam(TF1 * GRF,Float_t padwidth,Float_t kNorm,
34 //adjust RF with general function
35 void SetOffset(Float_t xoff) {fOffset=xoff;}
37 Float_t GetPadWidth(){ return fpadWidth;};
39 Float_t GetSigma(){return fSigma;}
40 //return estimated sigma of RF
41 void Draw(Option_t*) {}
42 void Draw(Float_t x1=-3 ,Float_t x2 =3.,Int_t N = 200);
43 //draw RF it don't delete histograms after drawing
47 Double_t funParam[5];//parameters of used charge function
48 Int_t fNRF; //number of interpolations point
49 Float_t fDSTEPM1; //element step for point
50 Float_t* fcharge; // field with RF
51 Float_t forigsigma;//sigma of original distribution;
52 Float_t fpadWidth; //width of pad
53 Float_t fkNorm; //normalisation factor of the charge integral
54 Float_t fInteg; //integral of GRF on +- infinity
55 TF1 * fGRF; //charge distribution function
56 Float_t fSigma; //sigma of PAD response function
58 Float_t fOffset; //offset of response function (for time reponse we
59 //have for expample shifted gauss)
60 //calculated during update
62 Bool_t fDirect; //tell us if we use directly generalfunction
67 ClassDef(AliTPCRF1D,2)
73 #endif /* AliTPCRF1D_H */