3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ////////////////////////////////////////////////
9 // Manager class for AliTPCRF1D //
10 ////////////////////////////////////////////////
13 // include files and class forward declarations
21 class AliTPCRF1D : public TObject {
23 AliTPCRF1D(Bool_t direct=kFALSE,Int_t np=0,Float_t step=0 );
24 AliTPCRF1D(const AliTPCRF1D &prf);
25 AliTPCRF1D & operator = (const AliTPCRF1D &prf);
27 Float_t GetRF(Float_t xin); //return RF in point xin
28 Float_t GetGRF(Float_t xin); //return generic response function in xin
29 void SetGauss(Float_t sigma,Float_t padWidth, Float_t kNorm);
30 //adjust RF with GAUSIAN as generic GRF
31 //if direct = kTRUE then it does't convolute distribution
32 void SetCosh(Float_t sigma,Float_t padWidth, Float_t kNorm);
33 void SetGati(Float_t K3, Float_t padDistance, Float_t padWidth,
35 //adjust RF with 1/Cosh as generic GRF
36 void SetParam(TF1 * GRF,Float_t padwidth,Float_t kNorm,
38 //adjust RF with general function
39 void SetOffset(Float_t xoff) {fOffset=xoff;}
41 Float_t GetOffset(){return fOffset;}
42 Float_t GetPadWidth(){ return fpadWidth;};
44 Float_t GetSigma(){return fSigma;}
45 //return estimated sigma of RF
46 void DrawRF(Float_t x1=-3 ,Float_t x2 =3.,Int_t N = 200);
47 //draw RF it don't delete histograms after drawing
50 static Double_t Gamma4(Double_t x, Double_t p0, Double_t p1);
52 Double_t funParam[5];//parameters of used charge function
53 Int_t fNRF; //number of interpolations point
54 Float_t fDSTEPM1; //element step for point
55 Float_t* fcharge; //[fNPRF] field with RF
56 Float_t forigsigma;//sigma of original distribution;
57 Float_t fpadWidth; //width of pad
58 Float_t fkNorm; //normalisation factor of the charge integral
59 Float_t fInteg; //integral of GRF on +- infinity
60 TF1 * fGRF; //charge distribution function
61 Float_t fSigma; //sigma of PAD response function
63 Float_t fOffset; //offset of response function (for time reponse we
64 //have for expample shifted gauss)
65 //calculated during update
67 Bool_t fDirect; //tell us if we use directly generalfunction
69 Float_t fPadDistance; //pad to wire distance
70 char fType[5]; //type of the parametrisation
71 static Int_t fgNRF;//default number of interpolation points
72 static Float_t fgRFDSTEP;//default step in cm
73 ClassDef(AliTPCRF1D,2)
79 #endif /* ALITPCRF1D_H */