ROOT logo
#ifndef ALITPCRF1D_H
#define ALITPCRF1D_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

////////////////////////////////////////////////
//  Manager class for AliTPCRF1D              //
//////////////////////////////////////////////// 
  

// include files and class forward declarations


#include "TObject.h"
#include "TMath.h"
class TF1;


class AliTPCRF1D : public TObject {
public : 
  AliTPCRF1D(Bool_t direct=kFALSE,Int_t np=0,Float_t step=0 ); 
  AliTPCRF1D(const AliTPCRF1D &prf);
  AliTPCRF1D & operator = (const AliTPCRF1D &prf);
  ~AliTPCRF1D();  
  Float_t GetRF(Float_t xin); //return RF in point xin
  Float_t GetGRF(Float_t xin); //return generic response function  in xin
  void SetGauss(Float_t sigma,Float_t padWidth, Float_t kNorm);
  //adjust RF with GAUSIAN as generic GRF 
  //if  direct = kTRUE then it does't convolute distribution
  void SetCosh(Float_t sigma,Float_t padWidth, Float_t kNorm);
  void SetGati(Float_t K3, Float_t padDistance, Float_t padWidth,
	       Float_t kNorm);
  //adjust RF with 1/Cosh  as generic GRF
  void SetParam(TF1 * GRF,Float_t padwidth,Float_t kNorm, 
		Float_t sigma=0);
  //adjust RF with general function 
  void SetOffset(Float_t xoff) {fOffset=xoff;}
  //set offset value 
  Float_t GetOffset(){return fOffset;}
  Float_t GetPadWidth(){ return fpadWidth;};       
  //return  pad width 
  Float_t  GetSigma(){return fSigma;}
  //return estimated sigma of RF
  void DrawRF(Float_t x1=-3 ,Float_t x2 =3.,Int_t N = 200);
  //draw RF it don't delete histograms after drawing
  /// it's on user !!!!
  void Update();  
  static Double_t Gamma4(Double_t x, Double_t p0, Double_t p1);
private: 
  Double_t funParam[5];//parameters of used charge function
  Int_t  fNRF;      //number of interpolations point
  Float_t fDSTEPM1;    //element step for point
  Float_t* fcharge; //[fNPRF] field with RF
  Float_t  forigsigma;//sigma of original distribution;
  Float_t fpadWidth;  //width of pad
  Float_t fkNorm;     //normalisation factor of the charge integral
  Float_t fInteg;     //integral of GRF on +- infinity
  TF1 *  fGRF;        //charge distribution function
  Float_t fSigma;     //sigma of PAD response function

  Float_t fOffset;    //offset of response function (for time reponse we 
  //have for expample shifted gauss)
  //calculated during update
 
  Bool_t fDirect;     //tell us if we use directly generalfunction
  
  Float_t fPadDistance;   //pad to wire distance
  char  fType[5];     //type of the parametrisation
  static Int_t   fgNRF;//default  number of interpolation points
  static Float_t fgRFDSTEP;//default step in cm
  ClassDef(AliTPCRF1D,2)
}; 




#endif /* ALITPCRF1D_H */
  
 AliTPCRF1D.h:1
 AliTPCRF1D.h:2
 AliTPCRF1D.h:3
 AliTPCRF1D.h:4
 AliTPCRF1D.h:5
 AliTPCRF1D.h:6
 AliTPCRF1D.h:7
 AliTPCRF1D.h:8
 AliTPCRF1D.h:9
 AliTPCRF1D.h:10
 AliTPCRF1D.h:11
 AliTPCRF1D.h:12
 AliTPCRF1D.h:13
 AliTPCRF1D.h:14
 AliTPCRF1D.h:15
 AliTPCRF1D.h:16
 AliTPCRF1D.h:17
 AliTPCRF1D.h:18
 AliTPCRF1D.h:19
 AliTPCRF1D.h:20
 AliTPCRF1D.h:21
 AliTPCRF1D.h:22
 AliTPCRF1D.h:23
 AliTPCRF1D.h:24
 AliTPCRF1D.h:25
 AliTPCRF1D.h:26
 AliTPCRF1D.h:27
 AliTPCRF1D.h:28
 AliTPCRF1D.h:29
 AliTPCRF1D.h:30
 AliTPCRF1D.h:31
 AliTPCRF1D.h:32
 AliTPCRF1D.h:33
 AliTPCRF1D.h:34
 AliTPCRF1D.h:35
 AliTPCRF1D.h:36
 AliTPCRF1D.h:37
 AliTPCRF1D.h:38
 AliTPCRF1D.h:39
 AliTPCRF1D.h:40
 AliTPCRF1D.h:41
 AliTPCRF1D.h:42
 AliTPCRF1D.h:43
 AliTPCRF1D.h:44
 AliTPCRF1D.h:45
 AliTPCRF1D.h:46
 AliTPCRF1D.h:47
 AliTPCRF1D.h:48
 AliTPCRF1D.h:49
 AliTPCRF1D.h:50
 AliTPCRF1D.h:51
 AliTPCRF1D.h:52
 AliTPCRF1D.h:53
 AliTPCRF1D.h:54
 AliTPCRF1D.h:55
 AliTPCRF1D.h:56
 AliTPCRF1D.h:57
 AliTPCRF1D.h:58
 AliTPCRF1D.h:59
 AliTPCRF1D.h:60
 AliTPCRF1D.h:61
 AliTPCRF1D.h:62
 AliTPCRF1D.h:63
 AliTPCRF1D.h:64
 AliTPCRF1D.h:65
 AliTPCRF1D.h:66
 AliTPCRF1D.h:67
 AliTPCRF1D.h:68
 AliTPCRF1D.h:69
 AliTPCRF1D.h:70
 AliTPCRF1D.h:71
 AliTPCRF1D.h:72
 AliTPCRF1D.h:73
 AliTPCRF1D.h:74
 AliTPCRF1D.h:75
 AliTPCRF1D.h:76
 AliTPCRF1D.h:77
 AliTPCRF1D.h:78
 AliTPCRF1D.h:79
 AliTPCRF1D.h:80