]>
Commit | Line | Data |
---|---|---|
108615fc | 1 | #ifndef ALIL3TRANSFORM_H |
2 | #define ALIL3TRANSFORM_H | |
3 | ||
4 | ||
5 | ||
6 | //#include "AliTPCParam.h" | |
7 | #include "AliL3RootTypes.h" | |
8 | class TFile; | |
9 | ||
10 | class 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 |