]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALGeometryOfflineTrd1.h
Minor fixes in the event tag to take into account the new way of storing the trigger...
[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:
28 AliEMCALGeometryOfflineTrd1(const AliEMCALGeometryOfflineTrd1& geom):TNamed(geom.GetName(),geom.GetTitle()) {
29 // cpy ctor requested by Coding Convention but not yet needed
30 Fatal("Cpy ctor", "Not implemented");
31 }
32
14ce0a6e 33 //assignment operator for coding convention
34 const AliEMCALGeometryOfflineTrd1 & operator = (const AliEMCALGeometryOfflineTrd1 &) {return *this;}
35
1963b290 36 virtual ~AliEMCALGeometryOfflineTrd1() { /* nothing */ };
37 static AliEMCALGeometryOfflineTrd1* GetInstance();
38 // positon in SuperModule
eb0b1051 39 TVector3& PosInSuperModule(int nSupMod, int nTower, int nIphi, int nIeta);
1963b290 40
14ce0a6e 41 public:
42 // One Super Module
43 void PositionInSuperModule(int iphi, int ieta, double &lphi, double &leta);
44 void PositionInSuperModule(int nSupMod, int nTower, int nIphi, int nIeta, double &lphi, double &leta);
45 // Position towers(cells)
46 TVector3* CellPosition(int absId); // from 0 to fGeometry->GetNCells()
47 // Global System
48 TRotation* Rotation(Int_t module); // module change from 1 to 12;
49
50 // service methods
51 void PrintSuperModule(); // *MENU*
52 void PrintCell(Int_t absId=1); // *MENU*
53 virtual void Browse(TBrowser* b);
54 virtual Bool_t IsFolder() const;
55
1963b290 56 private:
57 AliEMCALGeometryOfflineTrd1();
58 void Init();
59
60 static AliEMCALGeometryOfflineTrd1* fgGeomOfflineTrd1; //!
61 AliEMCALGeometry *fGeometry; //!
62
63 Int_t fMaxInEta; //! max module in ETA direction
64 AliEMCALShishKebabTrd1Module* fTrd1Modules[26]; //!
65 // positon in SuperModule
66 Int_t fSMMaxEta; // = 2*fMaxInEta(52 now)
67 TVector2* fSMPositionEta; //! array of TVector2 [fSMMaxEta]
68 TArrayD fSMPositionPhi; //! [24] now; start from 0;
69 Double_t fShiftOnPhi; //!
70
71 Int_t fNPhiSuperModule; //! number phi position for super modules
72 TRotation fSuperModuleRotationZ[6]; //!
73 TString fNameSuperModuleRotationZ[6]; //!
74 TRotation fSuperModuleRotationX; //!
75 TRotation fSuperModuleRotation[12]; //!
76 // position of cells in global coordinate system
77 TObjArray *fXYZofCells; //!
1963b290 78
79 ClassDef(AliEMCALGeometryOfflineTrd1, 0) // EMCAL geometry for offline
80};
81
82#endif // ALIEMCALGEOMETRYOFFLINETRD1_H