]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCParamSR.h
Clean-up bug in Centered() corrected.
[u/mrichter/AliRoot.git] / TPC / 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////////////////////////////////////////////////
11#include "AliTPCPRF2D.h"
12#include "AliTPCRF1D.h"
13#include "AliTPCParam.h"
14
15class AliTPCParamSR : public AliTPCParam {
16public:
17 AliTPCParamSR();
18 virtual ~AliTPCParamSR();
19 Int_t CalcResponse(Float_t* x, Int_t * index, Int_t row);
20 //calculate bin response as function of the input position -x
21 //return number of valid response bin
22
23 void XYZtoCRXYZ(Float_t *xyz,
24 Int_t &sector, Int_t &padrow, Int_t option=3) const;
25 //transform global position to the position relative to the sector padrow
26 //if option=0 X calculate absolute calculate sector
27 //if option=1 X absolute use input sector
28 //if option=2 X relative to pad row calculate sector
29 //if option=3 X relative use input sector
30
31 void CRXYZtoXYZ(Float_t *xyz,
32 const Int_t &sector, const Int_t & padrow, Int_t option=3) const;
33 //transform relative position to the gloabal position
34 void TransformTo8(Float_t *xyz, Int_t *index) const;
35 void TransformTo2(Float_t *xyz, Int_t *index) const;
36 Bool_t Update(); //recalculate and check geometric parameters
37 void SetDefault(); //set default parameters
38 void SetInnerPRF(AliTPCPRF2D * prf) {fInnerPRF = prf;}
39 void SetOuterPRF(AliTPCPRF2D * prf) {fOuterPRF = prf;}
40 void SetTimeRF(AliTPCRF1D * timerf) {fTimeRF = timerf;}
41
42 AliTPCPRF2D * GetInnerPRF() const {return fInnerPRF;}
43 AliTPCPRF2D * GetOuterPRF() const {return fOuterPRF;}
44 AliTPCRF1D * GetTimeRF() const {return fTimeRF;}
45 void SetFacSigmaPadRow(Float_t fac) {fFacSigmaPadRow=fac;}
46 void SetFacSigmaPad(Float_t fac) {fFacSigmaPad=fac;}
47 void SetFacSigmaTime(Float_t fac) {fFacSigmaTime=fac;}
48
49 virtual Float_t GetPrimaryLoss(Float_t *x, Int_t *index, Float_t *angle);
50 virtual Float_t GetTotalLoss(Float_t *x, Int_t *index, Float_t *angle);
51
52 virtual void GetClusterSize(Float_t *x, Int_t *index, Float_t *angle, Int_t mode, Float_t *sigma);
53 virtual void GetSpaceResolution(Float_t *x, Int_t *index, Float_t *angle, Float_t amplitude, Int_t mode,Float_t *sigma);
54 virtual Float_t GetAmp(Float_t *x, Int_t *index, Float_t *angle);
55 virtual Float_t * GetAnglesAccMomentum(Float_t *x, Int_t * index, Float_t* momentum, Float_t *angle);
56
57protected:
58 AliTPCPRF2D * fInnerPRF; //pad response function object for inner sector
59 AliTPCPRF2D * fOuterPRF; //pad response function object for inner sector
60 AliTPCRF1D * fTimeRF; //time response function object
61 Float_t fFacSigmaPadRow; //factor-how many sigma of response I accept
62 Float_t fFacSigmaPad;
63 Float_t fFacSigmaTime;
64 ClassDef(AliTPCParamSR,1) //parameter object for set:TPC
65};
66
67#endif
68
69
70
71
72
73