Coding convention obeyed
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEMCAGeometry.h
CommitLineData
2f2c3b32 1#ifndef ALIPHOSEMCAGEOMETRY_H
2#define ALIPHOSEMCAGEOMETRY_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// Geometry class for PHOS : EMCA (Electromagnetic Calirometer)
a3dfe79c 10// Its data members provide geometry parametrization of EMCA
11// which can be changed in the constructor only.
12// Author: Yves Schutz (Subatech)
13// Modified: Yuri Kharlov (IHEP, Protvino)
14// 15 September 2000
15
16#include <assert.h>
2f2c3b32 17
18// --- ROOT system ---
468794ea 19#include "TObject.h"
20class TObjArray ;
2f2c3b32 21
22// --- AliRoot header files ---
23
24class AliPHOSEMCAGeometry : public TObject {
25
26public:
27
28 AliPHOSEMCAGeometry();
a3dfe79c 29 AliPHOSEMCAGeometry(const AliPHOSEMCAGeometry & cpv) {
30 // cpy ctor requested by Coding Convention but not yet needed
31 assert(0==1) ;
32 }
2f2c3b32 33 virtual ~AliPHOSEMCAGeometry(void) {}
34
a3dfe79c 35 AliPHOSEMCAGeometry & operator = (const AliPHOSEMCAGeometry & rvalue) {
36 // assignement operator requested by coding convention but not needed
37 assert(0==1) ;
38 return *this ;
39 }
85218d13 40
41 Float_t * GetStripHalfSize() {return fStripHalfSize ;}
0bc3b8ed 42 Float_t GetStripWallWidthOut() const {return fStripWallWidthOut ;}
85218d13 43 Float_t * GetAirCellHalfSize() {return fAirCellHalfSize ;}
44 Float_t * GetWrappedHalfSize() {return fWrappedHalfSize ;}
45 Float_t GetAirGapLed() const {return fAirGapLed ;}
46 Float_t * GetCrystalHalfSize() {return fCrystalHalfSize ;}
0bc3b8ed 47 Float_t * GetSupportPlateHalfSize() {return fSupportPlateHalfSize ;}
85218d13 48 Float_t * GetSupportPlateInHalfSize() {return fSupportPlateInHalfSize ;}
0bc3b8ed 49 Float_t GetSupportPlateThickness(void) const { return fSupportPlateThickness ; }
85218d13 50
51 Float_t * GetPreampHalfSize() {return fPreampHalfSize ;}
52 Float_t * GetAPDHalfSize(void) {return fPinDiodeHalfSize ; }
53 Float_t * GetOuterThermoParams(void) {return fOuterThermoParams ; }
54 Float_t * GetCoolerHalfSize(void) {return fCoolerHalfSize ;}
55 Float_t * GetAirGapHalfSize(void) {return fAirGapHalfSize; }
56 Float_t * GetInnerThermoHalfSize(void) {return fInnerThermoHalfSize ; }
57 Float_t * GetAlCoverParams() {return fAlCoverParams ; }
58 Float_t * GetFiberGlassHalfSize() {return fFiberGlassHalfSize ; }
59 Float_t * GetWarmAlCoverHalfSize() {return fWarmAlCoverHalfSize ;}
60 Float_t * GetWarmThermoHalfSize() {return fWarmThermoHalfSize ;}
61 Float_t * GetTSupport1HalfSize() {return fTSupport1HalfSize ;}
62 Float_t * GetTSupport2HalfSize() {return fTSupport2HalfSize ;}
63 Float_t * GetTCables1HalfSize() {return fTCables1HalfSize ; }
64 Float_t * GetTCables2HalfSize() {return fTCables2HalfSize ; }
0bc3b8ed 65 Float_t GetTSupportDist() const {return fTSupportDist ; }
85218d13 66 Float_t * GetFrameXHalfSize() {return fFrameXHalfSize ;}
67 Float_t * GetFrameZHalfSize() {return fFrameZHalfSize ;}
68 Float_t * GetFrameXPosition() {return fFrameXPosition ;}
69 Float_t * GetFrameZPosition() {return fFrameZPosition ;}
70 Float_t * GetFGupXHalfSize() {return fFGupXHalfSize ; }
71 Float_t * GetFGupXPosition() {return fFGupXPosition ; }
72 Float_t * GetFGupZHalfSize() {return fFGupZHalfSize ; }
73 Float_t * GetFGupZPosition() {return fFGupZPosition ; }
74 Float_t * GetFGlowXHalfSize() {return fFGlowXHalfSize ; }
75 Float_t * GetFGlowXPosition() {return fFGlowXPosition ; }
76 Float_t * GetFGlowZHalfSize() {return fFGlowZHalfSize ; }
77 Float_t * GetFGlowZPosition() {return fFGlowZPosition ; }
78 Float_t * GetFEEAirHalfSize() {return fFEEAirHalfSize ; }
79 Float_t * GetFEEAirPosition() {return fFEEAirPosition ; }
80 Float_t * GetEMCParams() {return fEMCParams ;}
81
2f2c3b32 82 Float_t GetIPtoCrystalSurface(void) const {
83 return fIPtoCrystalSurface ; }
84 Float_t GetIPtoOuterCoverDistance(void) const {
85 return fIPtoOuterCoverDistance ; }
85218d13 86 Float_t GetCrystalSize(Int_t index) const {return 2.*fCrystalHalfSize[index] ; }
87
88
89 Int_t GetNCellsInStrip() const { return fNCellsInStrip;}
90 Int_t GetNStripX() const { return fNStripX ; }
91 Int_t GetNStripZ() const { return fNStripZ ; }
92 Int_t GetNTSuppots() const { return fNTSupports; }
93 Int_t GetNPhi(void) const { return fNPhi ; }
94 Int_t GetNZ(void) const { return fNZ ; }
95
2f2c3b32 96
97private:
98
85218d13 99 Float_t fStripHalfSize[3] ;
100 Float_t fAirCellHalfSize[3] ;
101 Float_t fWrappedHalfSize[3] ;
102 Float_t fSupportPlateHalfSize[3] ;
103 Float_t fSupportPlateInHalfSize[3] ;
104 Float_t fCrystalHalfSize[3] ;
105 Float_t fAirGapLed ;
106 Float_t fStripWallWidthOut ; // Side to another strip
107 Float_t fStripWallWidthIn ;
108 Float_t fTyvecThickness ;
109 Float_t fTSupport1HalfSize[3] ;
110 Float_t fTSupport2HalfSize[3] ;
111 Float_t fPreampHalfSize[3] ;
112 Float_t fPinDiodeHalfSize[3] ; // Size of the PIN Diode
113
114 Float_t fOuterThermoParams[4] ;
115 Float_t fCoolerHalfSize[3] ;
116 Float_t fAirGapHalfSize[3] ;
117 Float_t fInnerThermoHalfSize[3] ;
118 Float_t fAlCoverParams[4] ;
119 Float_t fFiberGlassHalfSize[3] ;
120
121
122 Float_t fInnerThermoWidthX ;
123 Float_t fInnerThermoWidthY ;
124 Float_t fInnerThermoWidthZ ;
125 Float_t fAirGapWidthX ;
126 Float_t fAirGapWidthY ;
127 Float_t fAirGapWidthZ ;
128 Float_t fCoolerWidthX ;
129 Float_t fCoolerWidthY ;
130 Float_t fCoolerWidthZ ;
131 Float_t fAlCoverThickness ;
132 Float_t fOuterThermoWidthXUp ;
133 Float_t fOuterThermoWidthXLow;
134 Float_t fOuterThermoWidthY ;
135 Float_t fOuterThermoWidthZ ;
136 Float_t fAlFrontCoverX ;
137 Float_t fAlFrontCoverZ ;
138 Float_t fFiberGlassSup2X ;
139 Float_t fFiberGlassSup1X ;
140 Float_t fFrameHeight ;
141 Float_t fFrameThickness ;
142 Float_t fAirSpaceFeeX ;
143 Float_t fAirSpaceFeeZ ;
144 Float_t fAirSpaceFeeY ;
145 Float_t fTCables2HalfSize[3] ;
146 Float_t fTCables1HalfSize[3] ;
147 Float_t fWarmUpperThickness ;
148 Float_t fWarmBottomThickness ;
149 Float_t fWarmAlCoverWidthX ;
150 Float_t fWarmAlCoverWidthY ;
151 Float_t fWarmAlCoverWidthZ ;
152 Float_t fWarmAlCoverHalfSize[3] ;
153 Float_t fWarmThermoHalfSize[3] ;
154 Float_t fFiberGlassSup1Y ;
155 Float_t fFiberGlassSup2Y ;
156 Float_t fTSupportDist ;
157 Float_t fTSupport1Thickness ;
158 Float_t fTSupport2Thickness ;
159 Float_t fTSupport1Width ;
160 Float_t fTSupport2Width ;
161 Float_t fFrameXHalfSize[3] ;
162 Float_t fFrameZHalfSize[3] ;
163 Float_t fFrameXPosition[3] ;
164 Float_t fFrameZPosition[3] ;
165 Float_t fFGupXHalfSize[3] ;
166 Float_t fFGupXPosition[3] ;
167 Float_t fFGupZHalfSize[3] ;
168 Float_t fFGupZPosition[3] ;
169 Float_t fFGlowXHalfSize[3] ;
170 Float_t fFGlowXPosition[3] ;
171 Float_t fFGlowZHalfSize[3] ;
172 Float_t fFGlowZPosition[3] ;
173 Float_t fFEEAirHalfSize[3] ;
174 Float_t fFEEAirPosition[3] ;
175 Float_t fEMCParams[4] ;
2f2c3b32 176 Float_t fIPtoOuterCoverDistance ; // Distances from interaction point to outer cover
177 Float_t fIPtoCrystalSurface ; // Distances from interaction point to Xtal surface
85218d13 178
179 Float_t fSupportPlateThickness ; // Thickness of the Aluminium support plate for Strip
180
181 Int_t fNCellsInStrip ;
182 Int_t fNStripX ;
183 Int_t fNStripZ ;
184 Int_t fNTSupports ;
185 Int_t fNPhi ; // Number of crystal units in X (phi) direction
186 Int_t fNZ ; // Number of crystal units in Z direction
2f2c3b32 187
188 ClassDef(AliPHOSEMCAGeometry,1) // EMCA geometry class
189
190} ;
191
192#endif // AliPHOSEMCAGEOMETRY_H