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