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