]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/Base/AliTPCParamSR.h
Small modifications:
[u/mrichter/AliRoot.git] / TPC / Base / AliTPCParamSR.h
CommitLineData
cc80f89e 1#ifndef TPCParamSR_H
2#define TPCParamSR_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8////////////////////////////////////////////////
9// Manager class for TPC parameters //
10////////////////////////////////////////////////
cc80f89e 11#include "AliTPCParam.h"
12
73042f01 13class AliTPCRF1D;
14class AliTPCPRF2D;
15
cc80f89e 16class AliTPCParamSR : public AliTPCParam {
17public:
18 AliTPCParamSR();
19 virtual ~AliTPCParamSR();
de61d5d5 20
cc80f89e 21 Int_t CalcResponse(Float_t* x, Int_t * index, Int_t row);
f546a4b4 22 Int_t CalcResponseFast(Float_t* x, Int_t * index, Int_t row,Float_t phase);
cc80f89e 23 //calculate bin response as function of the input position -x
24 //return number of valid response bin
de61d5d5 25
cc80f89e 26
27 void XYZtoCRXYZ(Float_t *xyz,
28 Int_t &sector, Int_t &padrow, Int_t option=3) const;
29 //transform global position to the position relative to the sector padrow
30 //if option=0 X calculate absolute calculate sector
31 //if option=1 X absolute use input sector
32 //if option=2 X relative to pad row calculate sector
33 //if option=3 X relative use input sector
34
35 void CRXYZtoXYZ(Float_t *xyz,
36 const Int_t &sector, const Int_t & padrow, Int_t option=3) const;
37 //transform relative position to the gloabal position
38 void TransformTo8(Float_t *xyz, Int_t *index) const;
39 void TransformTo2(Float_t *xyz, Int_t *index) const;
40 Bool_t Update(); //recalculate and check geometric parameters
41 void SetDefault(); //set default parameters
42 void SetInnerPRF(AliTPCPRF2D * prf) {fInnerPRF = prf;}
f03e3423 43 void SetOuter1PRF(AliTPCPRF2D * prf) {fOuter1PRF = prf;} //e.k
44 void SetOuter2PRF(AliTPCPRF2D * prf) {fOuter2PRF = prf;} //e.k
cc80f89e 45 void SetTimeRF(AliTPCRF1D * timerf) {fTimeRF = timerf;}
46
47 AliTPCPRF2D * GetInnerPRF() const {return fInnerPRF;}
f03e3423 48 AliTPCPRF2D * GetOuter1PRF() const {return fOuter1PRF;} //e.k
49 AliTPCPRF2D * GetOuter2PRF() const {return fOuter2PRF;} //e.k
cc80f89e 50 AliTPCRF1D * GetTimeRF() const {return fTimeRF;}
73042f01 51 void SetFacSigmaPadRow(Float_t fac=3.) {fFacSigmaPadRow=fac;}
52 void SetFacSigmaPad(Float_t fac=3.) {fFacSigmaPad=fac;}
53 void SetFacSigmaTime(Float_t fac=3.) {fFacSigmaTime=fac;}
cc80f89e 54
f03e3423 55 // Float_t GetPadRowRadiiLow(Int_t irow) const;
56 // Float_t GetPadRowRadiiUp(Int_t irow) const;
57 Float_t GetYInner(Int_t irow) const; //e,k
58 Float_t GetYOuter(Int_t irow) const; //e.k
59
cc80f89e 60 virtual Float_t GetPrimaryLoss(Float_t *x, Int_t *index, Float_t *angle);
61 virtual Float_t GetTotalLoss(Float_t *x, Int_t *index, Float_t *angle);
62
63 virtual void GetClusterSize(Float_t *x, Int_t *index, Float_t *angle, Int_t mode, Float_t *sigma);
64 virtual void GetSpaceResolution(Float_t *x, Int_t *index, Float_t *angle, Float_t amplitude, Int_t mode,Float_t *sigma);
65 virtual Float_t GetAmp(Float_t *x, Int_t *index, Float_t *angle);
66 virtual Float_t * GetAnglesAccMomentum(Float_t *x, Int_t * index, Float_t* momentum, Float_t *angle);
67
68protected:
f03e3423 69 AliTPCPRF2D * fInnerPRF; //pad response function for inner sector
70 AliTPCPRF2D * fOuter1PRF; //pad response function for outer sector
71 AliTPCPRF2D * fOuter2PRF;
cc80f89e 72 AliTPCRF1D * fTimeRF; //time response function object
73 Float_t fFacSigmaPadRow; //factor-how many sigma of response I accept
c11cb93f 74 Float_t fFacSigmaPad; //factor-how many sigma of response I accept
75 Float_t fFacSigmaTime; //factor-how many sigma of response I accept
af6a0f3f 76
77private:
78 AliTPCParamSR(const AliTPCParamSR &param); // copy constructor
79 AliTPCParamSR &operator = (const AliTPCParamSR & param); //assignment operator
80
946e3ae7 81 ClassDef(AliTPCParamSR,2) //parameter object for set:TPC
cc80f89e 82};
83
84#endif
85
86
87
88
89
90