]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3Transform.h
Checking in for the weekend
[u/mrichter/AliRoot.git] / HLT / src / AliL3Transform.h
CommitLineData
108615fc 1#ifndef ALIL3TRANSFORM_H
2#define ALIL3TRANSFORM_H
3
4
5
6//#include "AliTPCParam.h"
7#include "AliL3RootTypes.h"
8class TFile;
9
10class AliL3Transform {
11 private:
12// AliTPCParam *fParam;
13 Int_t fNTimeBins;
14 Int_t fNRowLow;
15 Int_t fNRowUp;
16 Int_t fNSectorLow;
17 Int_t fNSectorUp;
18 Double_t fPadPitchWidthLow;
19 Double_t fPadPitchWidthUp;
20 Double_t fZWidth;
21 Double_t fZSigma;
22 Int_t fNSector;
23 Int_t fNSlice;
24 Int_t fNRow;
25 Double_t fPi;
a4982538 26 Double_t fCos[36]; //change this following Init
27 Double_t fSin[36]; //change this following Init
28 Double_t fX[176]; //change this following Init
29 Int_t fNPads[176]; //change this following Init
108615fc 30 public:
31 AliL3Transform();
32 virtual ~AliL3Transform();
33 void Init();
34
35 Double_t GetPadPitchWidthLow() {return fPadPitchWidthLow;}
36 Double_t GetPadPitchWidthUp() {return fPadPitchWidthUp;}
95a00d93 37 Double_t GetPadPitchWidth(Int_t patch) {if(patch<=2) return fPadPitchWidthLow; else return fPadPitchWidthUp;}
38 Double_t GetZWidth() {return fZWidth;}
39
108615fc 40 Bool_t Slice2Sector(Int_t slice, Int_t slicerow, Int_t & sector, Int_t &row) const;
41
42 Bool_t Sector2Slice(Int_t & slice, Int_t sector) const;
43 Bool_t Sector2Slice(Int_t & slice, Int_t & slicerow,Int_t sector, Int_t row) const;
44
45 Double_t Row2X(Int_t slicerow);
a4982538 46 Int_t GetNPads(Int_t row){return (row<fNRow)?fNPads[row]:0;}
108615fc 47 Int_t GetNTimeBins(){return fNTimeBins;}
48
49 Double_t GetEta(Float_t *xyz);
bd7e82e0 50 Double_t GetEta(Int_t row,Int_t pad,Int_t time);
108615fc 51 Double_t GetPhi(Float_t *xyz);
52 Double_t GetMaxY(Int_t slicerow);
53 void Local2Global(Float_t *xyz,Int_t slice);
54 void Local2GlobalAngle(Float_t *angle,Int_t slice);
55 void Global2LocalAngle(Float_t *angle,Int_t slice);
56
57 void Raw2Local(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,Float_t time);
58 void Local2Global(Float_t *xyz,Int_t sector,Int_t row);
2342214c 59 void Global2Local(Float_t *xyz,Int_t sector,Bool_t isSlice=kFALSE);
108615fc 60 void Raw2Global(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,Float_t time);
61 void Local2Raw(Float_t *xyz,Int_t sector,Int_t row);
62 void Global2Raw(Float_t *xyz,Int_t sector,Int_t row);
63
b661165c 64 ClassDef(AliL3Transform,1) //Transformation class for ALICE TPC
108615fc 65};
66
67
68#endif