]>
Commit | Line | Data |
---|---|---|
8c555625 | 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 // |
8c555625 | 10 | //////////////////////////////////////////////// |
11 | ||
12 | ||
13 | // include files and class forward declarations | |
14 | //DSTEP in cm | |
15 | //NPRF in number of interpolation points | |
16 | const Int_t NRF=100; | |
17 | const Float_t RFDSTEP=0.01; | |
18 | ||
19 | #include "TObject.h" | |
20 | #include "TMath.h" | |
21 | class TF1; | |
22 | ||
23 | ||
24 | class AliTPCRF1D : public TObject { | |
25 | public : | |
26 | AliTPCRF1D(Bool_t direct=kFALSE,Int_t np=NRF,Float_t step=RFDSTEP ); | |
27 | ~AliTPCRF1D(); | |
28 | Float_t GetRF(Float_t xin); //return RF in point xin | |
29 | Float_t GetGRF(Float_t xin); //return generic response function in xin | |
30 | void SetGauss(Float_t sigma,Float_t padWidth, Float_t kNorm); | |
31 | //adjust RF with GAUSIAN as generic GRF | |
32 | //if direct = kTRUE then it does't convolute distribution | |
33 | void SetCosh(Float_t sigma,Float_t padWidth, Float_t kNorm); | |
34 | void SetGati(Float_t K3, Float_t padDistance, Float_t padWidth, | |
35 | Float_t kNorm); | |
36 | //adjust RF with 1/Cosh as generic GRF | |
37 | void SetParam(TF1 * GRF,Float_t padwidth,Float_t kNorm, | |
38 | Float_t sigma=0); | |
39 | //adjust RF with general function | |
40 | void SetOffset(Float_t xoff) {fOffset=xoff;} | |
41 | //set offset value | |
cc80f89e | 42 | Float_t GetOffset(){return fOffset;} |
8c555625 | 43 | Float_t GetPadWidth(){ return fpadWidth;}; |
44 | //return pad width | |
45 | Float_t GetSigma(){return fSigma;} | |
46 | //return estimated sigma of RF | |
47 | void Draw(Float_t x1=-3 ,Float_t x2 =3.,Int_t N = 200); | |
48 | //draw RF it don't delete histograms after drawing | |
49 | /// it's on user !!!! | |
50 | void Update(); | |
51 | private: | |
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; // 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 | |
62 | ||
63 | Float_t fOffset; //offset of response function (for time reponse we | |
64 | //have for expample shifted gauss) | |
65 | //calculated during update | |
66 | ||
67 | Bool_t fDirect; //tell us if we use directly generalfunction | |
68 | Float_t fK3X; | |
69 | Float_t fPadDistance; | |
70 | //charge type | |
71 | char fType[5]; | |
72 | ClassDef(AliTPCRF1D,2) | |
73 | }; | |
74 | ||
75 | ||
76 | ||
77 | ||
78 | #endif /* AliTPCRF1D_H */ | |
79 |