]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALGeometryOfflineTrd1.h
filter out additional compile defines to fit into rootcints 1024 char limit
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALGeometryOfflineTrd1.h
CommitLineData
1963b290 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 */
5
6/* $Id$ */
7
8//_________________________________________________________________________
9// GeometryOfflineTrd1 class for EMCAL : singleton
10//*-- Author: Aleksei Pavlinov (WSU)
11
12#include <TNamed.h>
13#include <TArrayD.h>
14#include <TRotation.h>
15
16class TBrowser;
17class TString;
18class TVector2;
19class TVector3;
20class TObjArray;
21class AliEMCALGeometry;
22class AliEMCALShishKebabTrd1Module;
23// --- ROOT system ---
24// --- AliRoot header files ---
25
26class AliEMCALGeometryOfflineTrd1 : public TNamed {
27 public:
0a4cb131 28 AliEMCALGeometryOfflineTrd1(const AliEMCALGeometryOfflineTrd1& geom);
1963b290 29
14ce0a6e 30 //assignment operator for coding convention
31 const AliEMCALGeometryOfflineTrd1 & operator = (const AliEMCALGeometryOfflineTrd1 &) {return *this;}
32
1963b290 33 virtual ~AliEMCALGeometryOfflineTrd1() { /* nothing */ };
34 static AliEMCALGeometryOfflineTrd1* GetInstance();
35 // positon in SuperModule
2bb3725c 36 TVector3& PosInSuperModule(int nSupMod, int nModule, int nIphi, int nIeta);
1963b290 37
14ce0a6e 38 public:
39 // One Super Module
40 void PositionInSuperModule(int iphi, int ieta, double &lphi, double &leta);
2bb3725c 41 void PositionInSuperModule(int nSupMod, int nModule, int nIphi, int nIeta, double &lphi, double &leta);
14ce0a6e 42 // Position towers(cells)
43 TVector3* CellPosition(int absId); // from 0 to fGeometry->GetNCells()
44 // Global System
45 TRotation* Rotation(Int_t module); // module change from 1 to 12;
46
47 // service methods
48 void PrintSuperModule(); // *MENU*
49 void PrintCell(Int_t absId=1); // *MENU*
50 virtual void Browse(TBrowser* b);
51 virtual Bool_t IsFolder() const;
52
1963b290 53 private:
54 AliEMCALGeometryOfflineTrd1();
55 void Init();
56
57 static AliEMCALGeometryOfflineTrd1* fgGeomOfflineTrd1; //!
58 AliEMCALGeometry *fGeometry; //!
59
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; //!
67
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; //!
1963b290 75
76 ClassDef(AliEMCALGeometryOfflineTrd1, 0) // EMCAL geometry for offline
77};
78
79#endif // ALIEMCALGEOMETRYOFFLINETRD1_H