AliRoot Core  edcc906 (edcc906)
Go to the documentation of this file.
1 #ifndef ALITPCRF1D_H
2 #define ALITPCRF1D_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
11 // include files and class forward declarations
14 #include "TObject.h"
15 #include "TMath.h"
16 class TF1;
19 class AliTPCRF1D : public TObject {
20 public :
21  AliTPCRF1D(Bool_t direct=kFALSE,Int_t np=0,Float_t step=0 );
22  AliTPCRF1D(const AliTPCRF1D &prf);
23  AliTPCRF1D & operator = (const AliTPCRF1D &prf);
24  ~AliTPCRF1D();
25  Float_t GetRF(Float_t xin); //return RF in point xin
26  Float_t GetGRF(Float_t xin); //return generic response function in xin
27  void SetGauss(Float_t sigma,Float_t padWidth, Float_t kNorm);
28  //adjust RF with GAUSIAN as generic GRF
29  //if direct = kTRUE then it does't convolute distribution
30  void SetCosh(Float_t sigma,Float_t padWidth, Float_t kNorm);
31  void SetGati(Float_t K3, Float_t padDistance, Float_t padWidth,
32  Float_t kNorm);
33  //adjust RF with 1/Cosh as generic GRF
34  void SetParam(TF1 * GRF,Float_t padwidth,Float_t kNorm,
35  Float_t sigma=0);
36  //adjust RF with general function
37  void SetOffset(Float_t xoff) {fOffset=xoff;}
38  //set offset value
39  Float_t GetOffset(){return fOffset;}
40  Float_t GetPadWidth(){ return fpadWidth;};
41  //return pad width
42  Float_t GetSigma(){return fSigma;}
43  //return estimated sigma of RF
44  void DrawRF(Float_t x1=-3 ,Float_t x2 =3.,Int_t N = 200);
45  //draw RF it don't delete histograms after drawing
47  void Update();
48  static Double_t Gamma4(Double_t x, Double_t p0, Double_t p1);
49 private:
50  Double_t funParam[5];
51  Int_t fNRF;
52  Float_t fDSTEPM1;
53  Float_t* fcharge; //[fNPRF]
55  Float_t forigsigma;
56  Float_t fpadWidth;
57  Float_t fkNorm;
58  Float_t fInteg;
59  TF1 * fGRF;
60  Float_t fSigma;
62  Float_t fOffset;
63  //have for expample shifted gauss)
64  //calculated during update
66  Bool_t fDirect;
68  Float_t fPadDistance;
69  char fType[5];
70  static Int_t fgNRF;
71  static Float_t fgRFDSTEP;
72  ClassDef(AliTPCRF1D,2)
75 };
80 #endif /* ALITPCRF1D_H */
Double_t funParam[5]
parameters of used charge function
Definition: AliTPCRF1D.h:50
Float_t * fcharge
field with RF
Definition: AliTPCRF1D.h:54
char fType[5]
type of the parametrisation
Definition: AliTPCRF1D.h:69
Float_t fDSTEPM1
Definition: AliTPCRF1D.h:52
Float_t fSigma
sigma of PAD response function
Definition: AliTPCRF1D.h:60
Float_t fOffset
offset of response function (for time reponse we
Definition: AliTPCRF1D.h:62
Float_t GetGRF(Float_t xin)
Definition: AliTPCRF1D.cxx:188
Int_t fNRF
number of interpolations point
Definition: AliTPCRF1D.h:51
void DrawRF(Float_t x1=-3, Float_t x2=3., Int_t N=200)
Definition: AliTPCRF1D.cxx:276
void SetCosh(Float_t sigma, Float_t padWidth, Float_t kNorm)
Definition: AliTPCRF1D.cxx:235
static Float_t fgRFDSTEP
default step in cm
Definition: AliTPCRF1D.h:71
void SetOffset(Float_t xoff)
Definition: AliTPCRF1D.h:37
static Double_t Gamma4(Double_t x, Double_t p0, Double_t p1)
Definition: AliTPCRF1D.cxx:393
Float_t fPadDistance
pad to wire distance
Definition: AliTPCRF1D.h:68
Declaration of class AliTPCRF1D.
Definition: AliTPCRF1D.h:19
static Int_t fgNRF
default number of interpolation points
Definition: AliTPCRF1D.h:70
Float_t fkNorm
normalisation factor of the charge integral
Definition: AliTPCRF1D.h:57
AliTPCRF1D & operator=(const AliTPCRF1D &prf)
Definition: AliTPCRF1D.cxx:138
Float_t GetPadWidth()
Definition: AliTPCRF1D.h:40
Float_t fInteg
integral of GRF on +- infinity
Definition: AliTPCRF1D.h:58
Float_t fpadWidth
width of pad
Definition: AliTPCRF1D.h:56
AliTPCRF1D(Bool_t direct=kFALSE, Int_t np=0, Float_t step=0)
Definition: AliTPCRF1D.cxx:79
void SetGauss(Float_t sigma, Float_t padWidth, Float_t kNorm)
Definition: AliTPCRF1D.cxx:216
Float_t GetRF(Float_t xin)
Definition: AliTPCRF1D.cxx:174
void Update()
it's on user !!!!
Definition: AliTPCRF1D.cxx:316
Bool_t fDirect
tell us if we use directly generalfunction
Definition: AliTPCRF1D.h:66
Float_t GetOffset()
Definition: AliTPCRF1D.h:39
Float_t forigsigma
sigma of original distribution;
Definition: AliTPCRF1D.h:55
void SetGati(Float_t K3, Float_t padDistance, Float_t padWidth, Float_t kNorm)
Definition: AliTPCRF1D.cxx:254
Float_t GetSigma()
Definition: AliTPCRF1D.h:42
TF1 * fGRF
charge distribution function
Definition: AliTPCRF1D.h:59
void SetParam(TF1 *GRF, Float_t padwidth, Float_t kNorm, Float_t sigma=0)
Definition: AliTPCRF1D.cxx:199