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