]>
Commit | Line | Data |
---|---|---|
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" |
20 | class TObjArray ; | |
2f2c3b32 | 21 | |
22 | // --- AliRoot header files --- | |
23 | ||
24 | class AliPHOSEMCAGeometry : public TObject { | |
25 | ||
26 | public: | |
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 ;} | |
42 | Float_t * GetAirCellHalfSize() {return fAirCellHalfSize ;} | |
43 | Float_t * GetWrappedHalfSize() {return fWrappedHalfSize ;} | |
44 | Float_t GetAirGapLed() const {return fAirGapLed ;} | |
45 | Float_t * GetCrystalHalfSize() {return fCrystalHalfSize ;} | |
46 | Float_t * GetSupportPlateHalfSize() { return fSupportPlateHalfSize ;} | |
47 | Float_t * GetSupportPlateInHalfSize() {return fSupportPlateInHalfSize ;} | |
48 | Float_t GetSupportPlateThickness(void) const { return fSupportPlateThickness ; } | |
49 | ||
50 | Float_t * GetPreampHalfSize() {return fPreampHalfSize ;} | |
51 | Float_t * GetAPDHalfSize(void) {return fPinDiodeHalfSize ; } | |
52 | Float_t * GetOuterThermoParams(void) {return fOuterThermoParams ; } | |
53 | Float_t * GetCoolerHalfSize(void) {return fCoolerHalfSize ;} | |
54 | Float_t * GetAirGapHalfSize(void) {return fAirGapHalfSize; } | |
55 | Float_t * GetInnerThermoHalfSize(void) {return fInnerThermoHalfSize ; } | |
56 | Float_t * GetAlCoverParams() {return fAlCoverParams ; } | |
57 | Float_t * GetFiberGlassHalfSize() {return fFiberGlassHalfSize ; } | |
58 | Float_t * GetWarmAlCoverHalfSize() {return fWarmAlCoverHalfSize ;} | |
59 | Float_t * GetWarmThermoHalfSize() {return fWarmThermoHalfSize ;} | |
60 | Float_t * GetTSupport1HalfSize() {return fTSupport1HalfSize ;} | |
61 | Float_t * GetTSupport2HalfSize() {return fTSupport2HalfSize ;} | |
62 | Float_t * GetTCables1HalfSize() {return fTCables1HalfSize ; } | |
63 | Float_t * GetTCables2HalfSize() {return fTCables2HalfSize ; } | |
64 | Float_t GetTSupportDist() {return fTSupportDist ; } | |
65 | Float_t * GetFrameXHalfSize() {return fFrameXHalfSize ;} | |
66 | Float_t * GetFrameZHalfSize() {return fFrameZHalfSize ;} | |
67 | Float_t * GetFrameXPosition() {return fFrameXPosition ;} | |
68 | Float_t * GetFrameZPosition() {return fFrameZPosition ;} | |
69 | Float_t * GetFGupXHalfSize() {return fFGupXHalfSize ; } | |
70 | Float_t * GetFGupXPosition() {return fFGupXPosition ; } | |
71 | Float_t * GetFGupZHalfSize() {return fFGupZHalfSize ; } | |
72 | Float_t * GetFGupZPosition() {return fFGupZPosition ; } | |
73 | Float_t * GetFGlowXHalfSize() {return fFGlowXHalfSize ; } | |
74 | Float_t * GetFGlowXPosition() {return fFGlowXPosition ; } | |
75 | Float_t * GetFGlowZHalfSize() {return fFGlowZHalfSize ; } | |
76 | Float_t * GetFGlowZPosition() {return fFGlowZPosition ; } | |
77 | Float_t * GetFEEAirHalfSize() {return fFEEAirHalfSize ; } | |
78 | Float_t * GetFEEAirPosition() {return fFEEAirPosition ; } | |
79 | Float_t * GetEMCParams() {return fEMCParams ;} | |
80 | ||
2f2c3b32 | 81 | Float_t GetIPtoCrystalSurface(void) const { |
82 | return fIPtoCrystalSurface ; } | |
83 | Float_t GetIPtoOuterCoverDistance(void) const { | |
84 | return fIPtoOuterCoverDistance ; } | |
85218d13 | 85 | Float_t GetCrystalSize(Int_t index) const {return 2.*fCrystalHalfSize[index] ; } |
86 | ||
87 | ||
88 | Int_t GetNCellsInStrip() const { return fNCellsInStrip;} | |
89 | Int_t GetNStripX() const { return fNStripX ; } | |
90 | Int_t GetNStripZ() const { return fNStripZ ; } | |
91 | Int_t GetNTSuppots() const { return fNTSupports; } | |
92 | Int_t GetNPhi(void) const { return fNPhi ; } | |
93 | Int_t GetNZ(void) const { return fNZ ; } | |
94 | ||
2f2c3b32 | 95 | |
96 | private: | |
97 | ||
85218d13 | 98 | Float_t fStripHalfSize[3] ; |
99 | Float_t fAirCellHalfSize[3] ; | |
100 | Float_t fWrappedHalfSize[3] ; | |
101 | Float_t fSupportPlateHalfSize[3] ; | |
102 | Float_t fSupportPlateInHalfSize[3] ; | |
103 | Float_t fCrystalHalfSize[3] ; | |
104 | Float_t fAirGapLed ; | |
105 | Float_t fStripWallWidthOut ; // Side to another strip | |
106 | Float_t fStripWallWidthIn ; | |
107 | Float_t fTyvecThickness ; | |
108 | Float_t fTSupport1HalfSize[3] ; | |
109 | Float_t fTSupport2HalfSize[3] ; | |
110 | Float_t fPreampHalfSize[3] ; | |
111 | Float_t fPinDiodeHalfSize[3] ; // Size of the PIN Diode | |
112 | ||
113 | Float_t fOuterThermoParams[4] ; | |
114 | Float_t fCoolerHalfSize[3] ; | |
115 | Float_t fAirGapHalfSize[3] ; | |
116 | Float_t fInnerThermoHalfSize[3] ; | |
117 | Float_t fAlCoverParams[4] ; | |
118 | Float_t fFiberGlassHalfSize[3] ; | |
119 | ||
120 | ||
121 | Float_t fInnerThermoWidthX ; | |
122 | Float_t fInnerThermoWidthY ; | |
123 | Float_t fInnerThermoWidthZ ; | |
124 | Float_t fAirGapWidthX ; | |
125 | Float_t fAirGapWidthY ; | |
126 | Float_t fAirGapWidthZ ; | |
127 | Float_t fCoolerWidthX ; | |
128 | Float_t fCoolerWidthY ; | |
129 | Float_t fCoolerWidthZ ; | |
130 | Float_t fAlCoverThickness ; | |
131 | Float_t fOuterThermoWidthXUp ; | |
132 | Float_t fOuterThermoWidthXLow; | |
133 | Float_t fOuterThermoWidthY ; | |
134 | Float_t fOuterThermoWidthZ ; | |
135 | Float_t fAlFrontCoverX ; | |
136 | Float_t fAlFrontCoverZ ; | |
137 | Float_t fFiberGlassSup2X ; | |
138 | Float_t fFiberGlassSup1X ; | |
139 | Float_t fFrameHeight ; | |
140 | Float_t fFrameThickness ; | |
141 | Float_t fAirSpaceFeeX ; | |
142 | Float_t fAirSpaceFeeZ ; | |
143 | Float_t fAirSpaceFeeY ; | |
144 | Float_t fTCables2HalfSize[3] ; | |
145 | Float_t fTCables1HalfSize[3] ; | |
146 | Float_t fWarmUpperThickness ; | |
147 | Float_t fWarmBottomThickness ; | |
148 | Float_t fWarmAlCoverWidthX ; | |
149 | Float_t fWarmAlCoverWidthY ; | |
150 | Float_t fWarmAlCoverWidthZ ; | |
151 | Float_t fWarmAlCoverHalfSize[3] ; | |
152 | Float_t fWarmThermoHalfSize[3] ; | |
153 | Float_t fFiberGlassSup1Y ; | |
154 | Float_t fFiberGlassSup2Y ; | |
155 | Float_t fTSupportDist ; | |
156 | Float_t fTSupport1Thickness ; | |
157 | Float_t fTSupport2Thickness ; | |
158 | Float_t fTSupport1Width ; | |
159 | Float_t fTSupport2Width ; | |
160 | Float_t fFrameXHalfSize[3] ; | |
161 | Float_t fFrameZHalfSize[3] ; | |
162 | Float_t fFrameXPosition[3] ; | |
163 | Float_t fFrameZPosition[3] ; | |
164 | Float_t fFGupXHalfSize[3] ; | |
165 | Float_t fFGupXPosition[3] ; | |
166 | Float_t fFGupZHalfSize[3] ; | |
167 | Float_t fFGupZPosition[3] ; | |
168 | Float_t fFGlowXHalfSize[3] ; | |
169 | Float_t fFGlowXPosition[3] ; | |
170 | Float_t fFGlowZHalfSize[3] ; | |
171 | Float_t fFGlowZPosition[3] ; | |
172 | Float_t fFEEAirHalfSize[3] ; | |
173 | Float_t fFEEAirPosition[3] ; | |
174 | Float_t fEMCParams[4] ; | |
2f2c3b32 | 175 | Float_t fIPtoOuterCoverDistance ; // Distances from interaction point to outer cover |
176 | Float_t fIPtoCrystalSurface ; // Distances from interaction point to Xtal surface | |
85218d13 | 177 | |
178 | Float_t fSupportPlateThickness ; // Thickness of the Aluminium support plate for Strip | |
179 | ||
180 | Int_t fNCellsInStrip ; | |
181 | Int_t fNStripX ; | |
182 | Int_t fNStripZ ; | |
183 | Int_t fNTSupports ; | |
184 | Int_t fNPhi ; // Number of crystal units in X (phi) direction | |
185 | Int_t fNZ ; // Number of crystal units in Z direction | |
2f2c3b32 | 186 | |
187 | ClassDef(AliPHOSEMCAGeometry,1) // EMCA geometry class | |
188 | ||
189 | } ; | |
190 | ||
191 | #endif // AliPHOSEMCAGEOMETRY_H |