Corrected UInt_t <-> Int_t conversion
[u/mrichter/AliRoot.git] / TPC / AliTPCRF1D.h
CommitLineData
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"
18class TF1;
19
20
21class AliTPCRF1D : public TObject {
22public :
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();
bfb1cfbd 50 static Double_t Gamma4(Double_t x, Double_t p0, Double_t p1);
8c555625 51private:
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
2ab0c725 55 Float_t* fcharge; //[fNPRF] field with RF
8c555625 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
73042f01 68
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
8c555625 73 ClassDef(AliTPCRF1D,2)
74};
75
76
77
78
73042f01 79#endif /* ALITPCRF1D_H */
8c555625 80