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