]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDCalStackPos.h
Added a commented out version with new digitizers.
[u/mrichter/AliRoot.git] / TRD / AliTRDCalStackPos.h
1 #ifndef AliTRDCALSTACKPOS_H
2 #define AliTRDCALSTACKPOS_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 //                                                                           //
10 //  TRD calibration class for position parameters of the stacks and chambers //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "TNamed.h"
15
16 class AliTRDCalStackPos : public TNamed {
17   public:
18     enum { kNdet = 540, kNstacks = 90, kNcham = 5, kNsect = 18 };
19   
20     AliTRDCalStackPos();
21     AliTRDCalStackPos(const Text_t* name, const Text_t* title);
22   
23     const Float_t* GetStackPos(Int_t chamber, Int_t sector) const { return fStackPos[GetStackNumber(chamber, sector)]; };
24     const Float_t* GetStackRot(Int_t chamber, Int_t sector) const { return fStackPos[GetStackNumber(chamber, sector)]; };
25
26     inline void SetPos(Int_t chamber, Int_t sector, Float_t x, Float_t y, Float_t z);
27     void SetPos(Int_t chamber, Int_t sector, Float_t* xyz) { SetPos(chamber, sector, xyz[0], xyz[1], xyz[2]); };
28   
29     inline void SetRot(Int_t chamber, Int_t sector, Float_t x, Float_t y, Float_t z);
30     void SetRot(Int_t chamber, Int_t sector, Float_t* xyz) { SetRot(chamber, sector, xyz[0], xyz[1], xyz[2]); };
31   
32   protected:
33     static Int_t GetStackNumber(Int_t chamber, Int_t sector) { return chamber+sector*kNcham; };
34
35     Float_t fStackPos[kNstacks][3];                    //  Deviations of the positions of the stacks from the ideal position
36     Float_t fStackRot[kNstacks][3];                    //  Rotation of the stacks in respect to the ideal position
37     
38     ClassDef(AliTRDCalStackPos,1)                     
39 };
40     
41 void AliTRDCalStackPos::SetPos(Int_t chamber, Int_t sector, Float_t x, Float_t y, Float_t z) 
42
43   Int_t stack = GetStackNumber(chamber, sector); 
44   fStackPos[stack][0] = x; 
45   fStackPos[stack][1] = y; 
46   fStackPos[stack][2] = z; 
47 }
48
49 void AliTRDCalStackPos::SetRot(Int_t chamber, Int_t sector, Float_t x, Float_t y, Float_t z) 
50
51   Int_t stack = GetStackNumber(chamber, sector); 
52   fStackRot[stack][0] = x; 
53   fStackRot[stack][1] = y; 
54   fStackRot[stack][2] = z; 
55 }
56
57 #endif