1 #ifndef ALIEMCALGEOMETRYOFFLINETRD1_H
2 #define ALIEMCALGEOMETRYOFFLINETRD1_H
3 /* Copyright(c) 1998-2004, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
9 // GeometryOfflineTrd1 class for EMCAL : singleton
10 //*-- Author: Aleksei Pavlinov (WSU)
14 #include <TRotation.h>
21 class AliEMCALGeometry;
22 class AliEMCALShishKebabTrd1Module;
23 // --- ROOT system ---
24 // --- AliRoot header files ---
26 class AliEMCALGeometryOfflineTrd1 : public TNamed {
28 AliEMCALGeometryOfflineTrd1(const AliEMCALGeometryOfflineTrd1& geom);
30 //assignment operator for coding convention
31 const AliEMCALGeometryOfflineTrd1 & operator = (const AliEMCALGeometryOfflineTrd1 &) {return *this;}
33 virtual ~AliEMCALGeometryOfflineTrd1() { /* nothing */ };
34 static AliEMCALGeometryOfflineTrd1* GetInstance();
35 // positon in SuperModule
36 TVector3& PosInSuperModule(int nSupMod, int nModule, int nIphi, int nIeta);
40 void PositionInSuperModule(int iphi, int ieta, double &lphi, double &leta);
41 void PositionInSuperModule(int nSupMod, int nModule, int nIphi, int nIeta, double &lphi, double &leta);
42 // Position towers(cells)
43 TVector3* CellPosition(int absId); // from 0 to fGeometry->GetNCells()
45 TRotation* Rotation(Int_t module); // module change from 1 to 12;
48 void PrintSuperModule(); // *MENU*
49 void PrintCell(Int_t absId=1); // *MENU*
50 virtual void Browse(TBrowser* b);
51 virtual Bool_t IsFolder() const;
54 AliEMCALGeometryOfflineTrd1();
57 static AliEMCALGeometryOfflineTrd1* fgGeomOfflineTrd1; //!
58 AliEMCALGeometry *fGeometry; //!
60 Int_t fMaxInEta; //! max module in ETA direction
61 AliEMCALShishKebabTrd1Module* fTrd1Modules[26]; //!
62 // positon in SuperModule
63 Int_t fSMMaxEta; // = 2*fMaxInEta(52 now)
64 TVector2* fSMPositionEta; //! array of TVector2 [fSMMaxEta]
65 TArrayD fSMPositionPhi; //! [24] now; start from 0;
66 Double_t fShiftOnPhi; //!
68 Int_t fNPhiSuperModule; //! number phi position for super modules
69 TRotation fSuperModuleRotationZ[6]; //!
70 TString fNameSuperModuleRotationZ[6]; //!
71 TRotation fSuperModuleRotationX; //!
72 TRotation fSuperModuleRotation[12]; //!
73 // position of cells in global coordinate system
74 TObjArray *fXYZofCells; //!
76 ClassDef(AliEMCALGeometryOfflineTrd1, 0) // EMCAL geometry for offline
79 #endif // ALIEMCALGEOMETRYOFFLINETRD1_H