AliRoot Core  3dc7879 (3dc7879)
AliTPCPRF2D Class Reference

Pad response function object in two dimesions. More...

#include <AliTPCPRF2D.h>

Inheritance diagram for AliTPCPRF2D:

Public Member Functions

 AliTPCPRF2D ()
 
virtual ~AliTPCPRF2D ()
 
virtual void Update ()
 
Float_t GetGRF (Float_t xin, Float_t yin)
 
virtual TF2 * GetGRF ()
 
virtual Float_t GetPRF (Float_t xin, Float_t yin)
 
virtual void DrawX (Float_t x1, Float_t x2, Float_t y1, Float_t y2=0, Int_t N=1)
 
virtual void DrawPRF (Float_t x1, Float_t x2, Float_t y1, Float_t y2, Int_t Nx=20, Int_t Ny=20)
 
virtual void DrawDist (Float_t x1, Float_t x2, Float_t y1, Float_t y2, Int_t Nx=20, Int_t Ny=20, Float_t thr=0)
 
TH1F * GenerDrawXHisto (Float_t x1, Float_t x2, Float_t y)
 
AliH2FGenerDrawHisto (Float_t x1, Float_t x2, Float_t y1, Float_t y2, Int_t Nx=20, Int_t Ny=20)
 
AliH2FGenerDrawDistHisto (Float_t x1, Float_t x2, Float_t y1, Float_t y2, Int_t Nx=20, Int_t Ny=20, Float_t thr=0)
 
virtual void SetPad (Float_t width, Float_t height)
 
virtual void SetChevron (Float_t hstep, Float_t shifty, Float_t fac)
 
virtual void SetChParam (Float_t width, Float_t height, Float_t hstep, Float_t shifty, Float_t fac)
 
virtual void SetY (Float_t y1, Float_t y2, Int_t nYdiv)
 
virtual void SetChargeAngle (Float_t angle)
 
virtual void SetCurrentAngle (Float_t)
 
virtual void SetPadAngle (Float_t angle)
 
void SetInterpolationType (Int_t interx, Int_t intery)
 
virtual void SetGauss (Float_t sigmaX, Float_t sigmaY, Float_t kNorm=1)
 
virtual void SetCosh (Float_t sigmaX, Float_t sigmaY, Float_t kNorm=1)
 
virtual void SetGati (Float_t K3X, Float_t K3Y, Float_t padDistance, Float_t kNorm=1)
 
void SetParam (TF2 *const GRF, Float_t kNorm, Float_t sigmaX=0, Float_t sigmaY=0)
 
void SetNdiv (Int_t Ndiv)
 
virtual Float_t GetSigmaX () const
 
virtual Float_t GetSigmaY () const
 

Protected Member Functions

void Update1 ()
 
virtual void UpdateSigma ()
 
Float_t GetPRFActiv (Float_t xin)
 
void DrawComment (TPaveText *comment)
 

Protected Attributes

Float_t * fcharge
 ! field with PRF More...
 
Float_t fY1
 position of first "virtual" vire More...
 
Float_t fY2
 position of last virtual vire More...
 
Int_t fNYdiv
 number of wires More...
 
Int_t fNChargeArray
 
Float_t * fChargeArray
 pointer to array of arrays More...
 
Float_t fHeightFull
 height of the full pad More...
 
Float_t fHeightS
 height of the one step More...
 
Float_t fShiftY
 shift of the step More...
 
Float_t fWidth
 width of the pad More...
 
Float_t fK
 k factor of the chewron More...
 
Double_t funParam [5]
 parameters of used charge function More...
 
Int_t fNPRF
 number of interpolations point More...
 
Int_t fNdiv
 number of division to calculate integral More...
 
Float_t fDStep
 element step for point More...
 
Float_t fKNorm
 normalisation factor of the charge integral More...
 
Float_t fInteg
 integral of GRF on +- infinity More...
 
TF2 * fGRF
 charge distribution function More...
 
Float_t fK3X
 KX parameter (only for Gati parametrization) More...
 
Float_t fK3Y
 KY parameter (only for Gati parametrisation) More...
 
Float_t fPadDistance
 pad anode distnce (only for Gati parametrisation) More...
 
Float_t fOrigSigmaX
 sigma of original distribution; More...
 
Float_t fOrigSigmaY
 sigma of original distribution; More...
 
Float_t fChargeAngle
 'angle' of charge distribution refernce system to pad reference system More...
 
Float_t fPadAngle
 'angle' of the pad assymetry More...
 
Float_t fSigmaX
 sigma X of PAD response function More...
 
Float_t fSigmaY
 sigma Y of PAD response function More...
 
Float_t fMeanX
 mean X value More...
 
Float_t fMeanY
 mean Y value More...
 
Int_t fInterX
 interpolation in X More...
 
Int_t fInterY
 interpolation in Y More...
 
char fType [5]
 charge type More...
 
Float_t fCurrentY
 in reality we calculate PRF only for one fixed y More...
 
Float_t fDYtoWire
 ! used to make PRF calculation faster in GetPRF More...
 
Float_t fDStepM1
 ! used in GetPRFActiv to make calculation faster More...
 

Static Protected Attributes

static const Double_t fgkDegtoRad = 0.01745329251994
 numeric constant More...
 
static const Double_t fgkSQRT12 =3.464101
 numeric constant More...
 
static const Int_t fgkNPRF = 100
 default number of division More...
 

Private Member Functions

 AliTPCPRF2D (const AliTPCPRF2D &prf)
 
AliTPCPRF2Doperator= (const AliTPCPRF2D &)
 

Detailed Description

Pad response function object in two dimesions.

Manager class for AliTPCPRF2D.

This class contains the basic functions for the calculation of PRF according generic charge distribution In Update function object calculate table of response function in discrete x and y position This table is used for interpolation od response function in any position (function GetPRF)

Author
Marian Ivanov, Uni. of Bratislava, ivano.nosp@m.v@fm.nosp@m.ph.un.nosp@m.iba..nosp@m.sk

This is to generate the 2-dimensional pad-response function

Definition at line 19 of file AliTPCPRF2D.h.

Constructor & Destructor Documentation

AliTPCPRF2D::AliTPCPRF2D ( )

Definition at line 101 of file AliTPCPRF2D.cxx.

AliTPCPRF2D::~AliTPCPRF2D ( )
virtual

Definition at line 153 of file AliTPCPRF2D.cxx.

AliTPCPRF2D::AliTPCPRF2D ( const AliTPCPRF2D prf)
private

Member Function Documentation

void AliTPCPRF2D::DrawComment ( TPaveText *  comment)
protected

function to write comment to picture

Definition at line 904 of file AliTPCPRF2D.cxx.

Referenced by DrawDist(), DrawPRF(), and DrawX().

void AliTPCPRF2D::DrawDist ( Float_t  x1,
Float_t  x2,
Float_t  y1,
Float_t  y2,
Int_t  Nx = 20,
Int_t  Ny = 20,
Float_t  thr = 0 
)
virtual

draw distortion of the COG method - for different threshold parameter

Definition at line 872 of file AliTPCPRF2D.cxx.

Referenced by GetGRF().

void AliTPCPRF2D::DrawPRF ( Float_t  x1,
Float_t  x2,
Float_t  y1,
Float_t  y2,
Int_t  Nx = 20,
Int_t  Ny = 20 
)
virtual

Definition at line 851 of file AliTPCPRF2D.cxx.

Referenced by AliTPCCreatePRFGEM(), and GetGRF().

void AliTPCPRF2D::DrawX ( Float_t  x1,
Float_t  x2,
Float_t  y1,
Float_t  y2 = 0,
Int_t  N = 1 
)
virtual

draw pad response function at interval <x1,x2> at given y position

Definition at line 811 of file AliTPCPRF2D.cxx.

Referenced by GetGRF().

AliH2F * AliTPCPRF2D::GenerDrawDistHisto ( Float_t  x1,
Float_t  x2,
Float_t  y1,
Float_t  y2,
Int_t  Nx = 20,
Int_t  Ny = 20,
Float_t  thr = 0 
)

return histogram with distortion

Definition at line 762 of file AliTPCPRF2D.cxx.

Referenced by DrawDist(), and GetGRF().

AliH2F * AliTPCPRF2D::GenerDrawHisto ( Float_t  x1,
Float_t  x2,
Float_t  y1,
Float_t  y2,
Int_t  Nx = 20,
Int_t  Ny = 20 
)

gener two dimensional histogram with PRF

Definition at line 734 of file AliTPCPRF2D.cxx.

Referenced by DrawPRF(), and GetGRF().

TH1F * AliTPCPRF2D::GenerDrawXHisto ( Float_t  x1,
Float_t  x2,
Float_t  y 
)

gener one dimensional hist of pad response function at position y

Definition at line 711 of file AliTPCPRF2D.cxx.

Referenced by DrawX(), and GetGRF().

Float_t AliTPCPRF2D::GetGRF ( Float_t  xin,
Float_t  yin 
)

function which returnoriginal charge distribution this function is just normalised for fKnorm

Definition at line 273 of file AliTPCPRF2D.cxx.

virtual TF2* AliTPCPRF2D::GetGRF ( )
inlinevirtual

Definition at line 26 of file AliTPCPRF2D.h.

Referenced by GetGRF().

Float_t AliTPCPRF2D::GetPRF ( Float_t  xin,
Float_t  yin 
)
virtual

function which return pad response for the charge in distance xin return cubic aproximation of PRF or PRF at nearest virtual wire

Definition at line 195 of file AliTPCPRF2D.cxx.

Referenced by AliTPCParamSR::CalcResponse(), AliTPCParamSR::CalcResponseFast(), GenerDrawDistHisto(), GenerDrawHisto(), GenerDrawXHisto(), GetGRF(), and UpdateSigma().

Float_t AliTPCPRF2D::GetPRFActiv ( Float_t  xin)
protected

GEt response function on given charege line return spline aproximaton

Definition at line 249 of file AliTPCPRF2D.cxx.

Referenced by GetPRF(), and GetSigmaY().

virtual Float_t AliTPCPRF2D::GetSigmaX ( ) const
inlinevirtual

Definition at line 67 of file AliTPCPRF2D.h.

Referenced by AliTPCParamSR::CalcResponse(), and AliTPCParamSR::GetClusterSize().

virtual Float_t AliTPCPRF2D::GetSigmaY ( ) const
inlinevirtual

Definition at line 68 of file AliTPCPRF2D.h.

Referenced by AliTPCParamSR::CalcResponse().

AliTPCPRF2D& AliTPCPRF2D::operator= ( const AliTPCPRF2D )
inlineprivate

Definition at line 128 of file AliTPCPRF2D.h.

virtual void AliTPCPRF2D::SetChargeAngle ( Float_t  angle)
inlinevirtual

Definition at line 51 of file AliTPCPRF2D.h.

void AliTPCPRF2D::SetChevron ( Float_t  hstep,
Float_t  shifty,
Float_t  fac 
)
virtual

set shaping of chewron parameters

Definition at line 176 of file AliTPCPRF2D.cxx.

Referenced by AliTPCCreatePRF(), AliTPCCreatePRFGEM(), GetGRF(), and SetChParam().

void AliTPCPRF2D::SetChParam ( Float_t  width,
Float_t  height,
Float_t  hstep,
Float_t  shifty,
Float_t  fac 
)
virtual

Definition at line 187 of file AliTPCPRF2D.cxx.

Referenced by GetGRF().

void AliTPCPRF2D::SetCosh ( Float_t  sigmaX,
Float_t  sigmaY,
Float_t  kNorm = 1 
)
virtual

set parameters for Cosh generic charge distribution

Definition at line 350 of file AliTPCPRF2D.cxx.

Referenced by SetInterpolationType().

virtual void AliTPCPRF2D::SetCurrentAngle ( Float_t  )
inlinevirtual

Definition at line 53 of file AliTPCPRF2D.h.

void AliTPCPRF2D::SetGati ( Float_t  K3X,
Float_t  K3Y,
Float_t  padDistance,
Float_t  kNorm = 1 
)
virtual

set parameters for Gati generic charge distribution

Definition at line 380 of file AliTPCPRF2D.cxx.

Referenced by AliTPCCreatePRF(), and SetInterpolationType().

void AliTPCPRF2D::SetGauss ( Float_t  sigmaX,
Float_t  sigmaY,
Float_t  kNorm = 1 
)
virtual

set parameters for Gauss generic charge distribution

Definition at line 316 of file AliTPCPRF2D.cxx.

Referenced by AliTPCCreatePRFGEM(), and SetInterpolationType().

void AliTPCPRF2D::SetInterpolationType ( Int_t  interx,
Int_t  intery 
)
inline

Definition at line 55 of file AliTPCPRF2D.h.

void AliTPCPRF2D::SetNdiv ( Int_t  Ndiv)
inline

Definition at line 66 of file AliTPCPRF2D.h.

void AliTPCPRF2D::SetPad ( Float_t  width,
Float_t  height 
)
virtual

set base chevron parameters

Definition at line 169 of file AliTPCPRF2D.cxx.

Referenced by AliTPCCreatePRF(), AliTPCCreatePRFGEM(), GetGRF(), and SetChParam().

virtual void AliTPCPRF2D::SetPadAngle ( Float_t  angle)
inlinevirtual

Definition at line 54 of file AliTPCPRF2D.h.

void AliTPCPRF2D::SetParam ( TF2 *const  GRF,
Float_t  kNorm,
Float_t  sigmaX = 0,
Float_t  sigmaY = 0 
)

adjust parameters of the original charge distribution and pad size parameters

Definition at line 285 of file AliTPCPRF2D.cxx.

Referenced by SetInterpolationType().

void AliTPCPRF2D::SetY ( Float_t  y1,
Float_t  y2,
Int_t  nYdiv 
)
virtual

set virtual line position first and last line and number of lines

Definition at line 159 of file AliTPCPRF2D.cxx.

Referenced by AliTPCCreatePRF(), AliTPCCreatePRFGEM(), and GetGRF().

void AliTPCPRF2D::Update ( )
virtual

update fields with interpolated values for PRF calculation

Definition at line 417 of file AliTPCPRF2D.cxx.

Referenced by AliTPCCreatePRF(), and AliTPCCreatePRFGEM().

void AliTPCPRF2D::Update1 ( )
protected

update fields with interpolated values for PRF calculation for given charge line

Definition at line 463 of file AliTPCPRF2D.cxx.

Referenced by GetSigmaY(), and Update().

void AliTPCPRF2D::UpdateSigma ( )
protectedvirtual

calulate effective sigma X and sigma y of PRF

Definition at line 645 of file AliTPCPRF2D.cxx.

Referenced by GetSigmaY(), and Update().

Member Data Documentation

Float_t* AliTPCPRF2D::fcharge
protected

! field with PRF

Definition at line 75 of file AliTPCPRF2D.h.

Referenced by GetPRF(), GetPRFActiv(), Update(), and Update1().

Float_t AliTPCPRF2D::fChargeAngle
protected

'angle' of charge distribution refernce system to pad reference system

Definition at line 106 of file AliTPCPRF2D.h.

Referenced by SetChargeAngle(), and Update1().

Float_t* AliTPCPRF2D::fChargeArray
protected

pointer to array of arrays

Definition at line 81 of file AliTPCPRF2D.h.

Referenced by GetPRF(), Update(), and ~AliTPCPRF2D().

Float_t AliTPCPRF2D::fCurrentY
protected

in reality we calculate PRF only for one fixed y

Definition at line 118 of file AliTPCPRF2D.h.

Referenced by Update(), and Update1().

Float_t AliTPCPRF2D::fDStep
protected

element step for point

Definition at line 94 of file AliTPCPRF2D.h.

Referenced by SetCosh(), SetGati(), SetGauss(), SetParam(), Update(), Update1(), and UpdateSigma().

Float_t AliTPCPRF2D::fDStepM1
protected

! used in GetPRFActiv to make calculation faster

Definition at line 120 of file AliTPCPRF2D.h.

Referenced by GetPRFActiv(), Update(), and UpdateSigma().

Float_t AliTPCPRF2D::fDYtoWire
protected

! used to make PRF calculation faster in GetPRF

Definition at line 119 of file AliTPCPRF2D.h.

Referenced by GetPRF(), Update(), and UpdateSigma().

const Double_t AliTPCPRF2D::fgkDegtoRad = 0.01745329251994
staticprotected

numeric constant

Definition at line 122 of file AliTPCPRF2D.h.

Referenced by SetGauss(), SetParam(), and Update1().

const Int_t AliTPCPRF2D::fgkNPRF = 100
staticprotected

default number of division

Definition at line 124 of file AliTPCPRF2D.h.

const Double_t AliTPCPRF2D::fgkSQRT12 =3.464101
staticprotected

numeric constant

Definition at line 123 of file AliTPCPRF2D.h.

Referenced by SetParam().

TF2* AliTPCPRF2D::fGRF
protected

charge distribution function

Definition at line 97 of file AliTPCPRF2D.h.

Referenced by DrawComment(), GetGRF(), SetCosh(), SetGati(), SetGauss(), SetParam(), Update(), Update1(), UpdateSigma(), and ~AliTPCPRF2D().

Float_t AliTPCPRF2D::fHeightFull
protected

height of the full pad

Definition at line 85 of file AliTPCPRF2D.h.

Referenced by DrawComment(), SetGauss(), SetPad(), SetParam(), and Update1().

Float_t AliTPCPRF2D::fHeightS
protected

height of the one step

Definition at line 86 of file AliTPCPRF2D.h.

Referenced by DrawComment(), SetChevron(), SetCosh(), SetGati(), SetGauss(), and Update1().

Float_t AliTPCPRF2D::fInteg
protected

integral of GRF on +- infinity

Definition at line 96 of file AliTPCPRF2D.h.

Referenced by GetGRF(), Update(), and Update1().

Int_t AliTPCPRF2D::fInterX
protected

interpolation in X

Definition at line 113 of file AliTPCPRF2D.h.

Referenced by SetInterpolationType().

Int_t AliTPCPRF2D::fInterY
protected

interpolation in Y

Definition at line 114 of file AliTPCPRF2D.h.

Referenced by GetPRF(), and SetInterpolationType().

Float_t AliTPCPRF2D::fK
protected

k factor of the chewron

Definition at line 89 of file AliTPCPRF2D.h.

Referenced by DrawComment(), SetChevron(), SetCosh(), SetGati(), SetGauss(), SetParam(), and Update1().

Float_t AliTPCPRF2D::fK3X
protected

KX parameter (only for Gati parametrization)

Definition at line 99 of file AliTPCPRF2D.h.

Referenced by DrawComment(), and SetGati().

Float_t AliTPCPRF2D::fK3Y
protected

KY parameter (only for Gati parametrisation)

Definition at line 100 of file AliTPCPRF2D.h.

Referenced by DrawComment(), and SetGati().

Float_t AliTPCPRF2D::fKNorm
protected

normalisation factor of the charge integral

Definition at line 95 of file AliTPCPRF2D.h.

Referenced by DrawComment(), GetGRF(), SetCosh(), SetGati(), SetGauss(), SetParam(), and Update1().

Float_t AliTPCPRF2D::fMeanX
protected

mean X value

Definition at line 111 of file AliTPCPRF2D.h.

Referenced by UpdateSigma().

Float_t AliTPCPRF2D::fMeanY
protected

mean Y value

Definition at line 112 of file AliTPCPRF2D.h.

Referenced by UpdateSigma().

Int_t AliTPCPRF2D::fNChargeArray
protected

number of charge interpolation points

Definition at line 79 of file AliTPCPRF2D.h.

Referenced by Update().

Int_t AliTPCPRF2D::fNdiv
protected

number of division to calculate integral

Definition at line 93 of file AliTPCPRF2D.h.

Referenced by SetNdiv(), Update(), and Update1().

Int_t AliTPCPRF2D::fNPRF
protected

number of interpolations point

Definition at line 92 of file AliTPCPRF2D.h.

Referenced by GetPRF(), GetPRFActiv(), SetCosh(), SetGati(), SetGauss(), SetParam(), Update(), Update1(), and UpdateSigma().

Int_t AliTPCPRF2D::fNYdiv
protected

number of wires

Definition at line 78 of file AliTPCPRF2D.h.

Referenced by GetPRF(), SetY(), Update(), and UpdateSigma().

Float_t AliTPCPRF2D::fOrigSigmaX
protected

sigma of original distribution;

Definition at line 103 of file AliTPCPRF2D.h.

Referenced by DrawComment(), SetCosh(), SetGati(), SetGauss(), SetParam(), Update(), and Update1().

Float_t AliTPCPRF2D::fOrigSigmaY
protected

sigma of original distribution;

Definition at line 104 of file AliTPCPRF2D.h.

Referenced by DrawComment(), SetCosh(), SetGati(), SetGauss(), SetParam(), Update(), and Update1().

Float_t AliTPCPRF2D::fPadAngle
protected

'angle' of the pad assymetry

Definition at line 107 of file AliTPCPRF2D.h.

Referenced by DrawComment(), SetGauss(), SetPadAngle(), SetParam(), and Update1().

Float_t AliTPCPRF2D::fPadDistance
protected

pad anode distnce (only for Gati parametrisation)

Definition at line 101 of file AliTPCPRF2D.h.

Referenced by DrawComment(), and SetGati().

Float_t AliTPCPRF2D::fShiftY
protected

shift of the step

Definition at line 87 of file AliTPCPRF2D.h.

Referenced by SetChevron(), and Update1().

Float_t AliTPCPRF2D::fSigmaX
protected

sigma X of PAD response function

Definition at line 109 of file AliTPCPRF2D.h.

Referenced by GetSigmaX(), and UpdateSigma().

Float_t AliTPCPRF2D::fSigmaY
protected

sigma Y of PAD response function

Definition at line 110 of file AliTPCPRF2D.h.

Referenced by GetSigmaY(), and UpdateSigma().

char AliTPCPRF2D::fType[5]
protected

charge type

Definition at line 117 of file AliTPCPRF2D.h.

Referenced by DrawComment(), SetCosh(), SetGati(), SetGauss(), SetParam(), and UpdateSigma().

Double_t AliTPCPRF2D::funParam[5]
protected

parameters of used charge function

Definition at line 91 of file AliTPCPRF2D.h.

Referenced by SetCosh(), SetGati(), SetGauss(), and UpdateSigma().

Float_t AliTPCPRF2D::fWidth
protected

width of the pad

Definition at line 88 of file AliTPCPRF2D.h.

Referenced by DrawComment(), GenerDrawDistHisto(), SetCosh(), SetGati(), SetGauss(), SetPad(), SetParam(), and Update1().

Float_t AliTPCPRF2D::fY1
protected

position of first "virtual" vire

Definition at line 76 of file AliTPCPRF2D.h.

Referenced by GetPRF(), SetY(), Update(), and UpdateSigma().

Float_t AliTPCPRF2D::fY2
protected

position of last virtual vire

Definition at line 77 of file AliTPCPRF2D.h.

Referenced by SetY(), Update(), and UpdateSigma().


The documentation for this class was generated from the following files: