]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSAlignData.h
Add fEnergy to AliPHOSDigit and operate with EMC amplitude in energy units (Yu.Kharlov)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSAlignData.h
1 #ifndef ALIPHOSALIGNDATA_H
2 #define ALIPHOSALIGNDATA_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 ////////////////////////////////////////////////
10 //  class for PHOS alignment parameters       //
11 ////////////////////////////////////////////////
12
13 #include "TNamed.h"
14
15 class AliPHOSAlignData: public TNamed {
16
17  public:
18   AliPHOSAlignData();
19   AliPHOSAlignData(const char* name);
20   AliPHOSAlignData(const AliPHOSAlignData &alignda);
21   AliPHOSAlignData& operator= (const AliPHOSAlignData &alignda);
22   virtual ~AliPHOSAlignData();
23   void Reset();
24   virtual void Print(Option_t *option = "") const; 
25
26   // Getters
27   Int_t   GetNModules() const {return fNModules;}
28   Float_t GetModuleCenter(Int_t module, Int_t axis) const {
29     return fModuleCenter[module][axis];}
30   Float_t GetModuleAngle(Int_t module, Int_t axis, Int_t angle) const {
31     return fModuleAngle[module][axis][angle];}
32
33   // Setters
34   void SetNModules(Int_t nModules) {fNModules = nModules;}
35   void SetModuleCenter(Int_t module, Int_t axis, Float_t coord) {
36     fModuleCenter[module][axis] = coord;}
37   void SetModuleAngle(Int_t module, Int_t axis, Int_t angle, Float_t value) {
38     fModuleAngle[module][axis][angle] = value;}
39
40  protected:
41   Int_t   fNModules;             // number of PHOS modules (max=5)
42   Float_t fModuleCenter[5][3];   // xyz-position of the module center
43   Float_t fModuleAngle[5][3][2]; // polar and azymuth angles for 3 axes of modules
44
45   ClassDef(AliPHOSAlignData,1)    // PHOS Alignment data
46 };
47
48 #endif