]>
Commit | Line | Data |
---|---|---|
73042f01 | 1 | #ifndef ALITPCRF1D_H |
2 | #define ALITPCRF1D_H | |
3da30618 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8c555625 | 8 | //////////////////////////////////////////////// |
cc80f89e | 9 | // Manager class for AliTPCRF1D // |
73042f01 | 10 | //////////////////////////////////////////////// |
8c555625 | 11 | |
12 | ||
13 | // include files and class forward declarations | |
73042f01 | 14 | |
8c555625 | 15 | |
16 | #include "TObject.h" | |
17 | #include "TMath.h" | |
18 | class TF1; | |
19 | ||
20 | ||
21 | class AliTPCRF1D : public TObject { | |
22 | public : | |
73042f01 | 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); | |
8c555625 | 26 | ~AliTPCRF1D(); |
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, | |
34 | Float_t kNorm); | |
35 | //adjust RF with 1/Cosh as generic GRF | |
36 | void SetParam(TF1 * GRF,Float_t padwidth,Float_t kNorm, | |
37 | Float_t sigma=0); | |
38 | //adjust RF with general function | |
39 | void SetOffset(Float_t xoff) {fOffset=xoff;} | |
40 | //set offset value | |
cc80f89e | 41 | Float_t GetOffset(){return fOffset;} |
8c555625 | 42 | Float_t GetPadWidth(){ return fpadWidth;}; |
43 | //return pad width | |
44 | Float_t GetSigma(){return fSigma;} | |
45 | //return estimated sigma of RF | |
73042f01 | 46 | void DrawRF(Float_t x1=-3 ,Float_t x2 =3.,Int_t N = 200); |
8c555625 | 47 | //draw RF it don't delete histograms after drawing |
48 | /// it's on user !!!! | |
49 | void Update(); | |
50 | private: | |
51 | Double_t funParam[5];//parameters of used charge function | |
52 | Int_t fNRF; //number of interpolations point | |
53 | Float_t fDSTEPM1; //element step for point | |
2ab0c725 | 54 | Float_t* fcharge; //[fNPRF] field with RF |
8c555625 | 55 | Float_t forigsigma;//sigma of original distribution; |
56 | Float_t fpadWidth; //width of pad | |
57 | Float_t fkNorm; //normalisation factor of the charge integral | |
58 | Float_t fInteg; //integral of GRF on +- infinity | |
59 | TF1 * fGRF; //charge distribution function | |
60 | Float_t fSigma; //sigma of PAD response function | |
61 | ||
62 | Float_t fOffset; //offset of response function (for time reponse we | |
63 | //have for expample shifted gauss) | |
64 | //calculated during update | |
65 | ||
66 | Bool_t fDirect; //tell us if we use directly generalfunction | |
73042f01 | 67 | |
68 | Float_t fPadDistance; //pad to wire distance | |
69 | char fType[5]; //type of the parametrisation | |
70 | static Int_t fgNRF;//default number of interpolation points | |
71 | static Float_t fgRFDSTEP;//default step in cm | |
8c555625 | 72 | ClassDef(AliTPCRF1D,2) |
73 | }; | |
74 | ||
75 | ||
76 | ||
77 | ||
73042f01 | 78 | #endif /* ALITPCRF1D_H */ |
8c555625 | 79 |