]>
Commit | Line | Data |
---|---|---|
8c555625 | 1 | #ifndef AliTPCRF1D_H |
2 | #define AliTPCRF1D_H | |
3 | //////////////////////////////////////////////// | |
4 | // Manager class for AliTPCRF1D // | |
5 | //////////////////////////////////////////////// | |
6 | ||
7 | ||
8 | // include files and class forward declarations | |
9 | //DSTEP in cm | |
10 | //NPRF in number of interpolation points | |
11 | const Int_t NRF=100; | |
12 | const Float_t RFDSTEP=0.01; | |
13 | ||
14 | #include "TObject.h" | |
15 | #include "TMath.h" | |
16 | class TF1; | |
17 | ||
18 | ||
19 | class AliTPCRF1D : public TObject { | |
20 | public : | |
21 | AliTPCRF1D(Bool_t direct=kFALSE,Int_t np=NRF,Float_t step=RFDSTEP ); | |
22 | ~AliTPCRF1D(); | |
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, | |
30 | Float_t kNorm); | |
31 | //adjust RF with 1/Cosh as generic GRF | |
32 | void SetParam(TF1 * GRF,Float_t padwidth,Float_t kNorm, | |
33 | Float_t sigma=0); | |
34 | //adjust RF with general function | |
35 | void SetOffset(Float_t xoff) {fOffset=xoff;} | |
36 | //set offset value | |
37 | Float_t GetPadWidth(){ return fpadWidth;}; | |
38 | //return pad width | |
39 | Float_t GetSigma(){return fSigma;} | |
40 | //return estimated sigma of RF | |
60baf4bb | 41 | void Draw(Option_t*) {} |
8c555625 | 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 | |
44 | /// it's on user !!!! | |
45 | void Update(); | |
46 | private: | |
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 | |
57 | ||
58 | Float_t fOffset; //offset of response function (for time reponse we | |
59 | //have for expample shifted gauss) | |
60 | //calculated during update | |
61 | ||
62 | Bool_t fDirect; //tell us if we use directly generalfunction | |
63 | Float_t fK3X; | |
64 | Float_t fPadDistance; | |
65 | //charge type | |
66 | char fType[5]; | |
67 | ClassDef(AliTPCRF1D,2) | |
68 | }; | |
69 | ||
70 | ||
71 | ||
72 | ||
73 | #endif /* AliTPCRF1D_H */ | |
74 |