1 #ifndef ALIL3TRANSFORM_H
2 #define ALIL3TRANSFORM_H
6 //#include "AliTPCParam.h"
7 #include "AliL3RootTypes.h"
10 class AliL3Transform {
12 // AliTPCParam *fParam;
18 Double_t fPadPitchWidthLow;
19 Double_t fPadPitchWidthUp;
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
32 virtual ~AliL3Transform();
35 Double_t GetPadPitchWidthLow() {return fPadPitchWidthLow;}
36 Double_t GetPadPitchWidthUp() {return fPadPitchWidthUp;}
38 Bool_t Slice2Sector(Int_t slice, Int_t slicerow, Int_t & sector, Int_t &row) const;
40 Bool_t Sector2Slice(Int_t & slice, Int_t sector) const;
41 Bool_t Sector2Slice(Int_t & slice, Int_t & slicerow,Int_t sector, Int_t row) const;
43 Double_t Row2X(Int_t slicerow);
44 Int_t GetNPads(Int_t row){return (row<fNRow)?fNPads[row]:0;}
45 Int_t GetNTimeBins(){return fNTimeBins;}
47 Double_t GetEta(Float_t *xyz);
48 Double_t GetEta(Int_t row,Int_t pad,Int_t time);
49 Double_t GetPhi(Float_t *xyz);
50 Double_t GetMaxY(Int_t slicerow);
51 void Local2Global(Float_t *xyz,Int_t slice);
52 void Local2GlobalAngle(Float_t *angle,Int_t slice);
53 void Global2LocalAngle(Float_t *angle,Int_t slice);
55 void Raw2Local(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,Float_t time);
56 void Local2Global(Float_t *xyz,Int_t sector,Int_t row);
57 void Global2Local(Float_t *xyz,Int_t sector,Bool_t isSlice=kFALSE);
58 void Raw2Global(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,Float_t time);
59 void Local2Raw(Float_t *xyz,Int_t sector,Int_t row);
60 void Global2Raw(Float_t *xyz,Int_t sector,Int_t row);
62 ClassDef(AliL3Transform,1) //Transformation class for ALICE TPC