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 */
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)
16 // --- ROOT system ---
20 // --- AliRoot header files ---
22 class AliPHOSEMCAGeometry : public TObject {
26 AliPHOSEMCAGeometry();
27 //Compiler-generated copy ctor and copy-assignment operator _ARE_ OK.
29 virtual ~AliPHOSEMCAGeometry(void) {}
31 const Float_t * GetStripHalfSize() const {return fStripHalfSize ; }
32 Float_t GetStripWallWidthOut() const {return fStripWallWidthOut ; }
33 const Float_t * GetAirCellHalfSize() const {return fAirCellHalfSize ; }
34 const Float_t * GetWrappedHalfSize() const {return fWrappedHalfSize ; }
35 Float_t GetAirGapLed() const {return fAirGapLed ; }
36 const Float_t * GetCrystalHalfSize() const {return fCrystalHalfSize ; }
37 const Float_t * GetSupportPlateHalfSize() const {return fSupportPlateHalfSize ; }
38 const Float_t * GetSupportPlateInHalfSize() const {return fSupportPlateInHalfSize ;}
39 Float_t GetSupportPlateThickness() const { return fSupportPlateThickness ;}
41 const Float_t * GetPreampHalfSize() const {return fPreampHalfSize ; }
42 const Float_t * GetAPDHalfSize() const {return fPinDiodeHalfSize ; }
43 const Float_t * GetOuterThermoParams() const {return fOuterThermoParams ; }
44 const Float_t * GetCoolerHalfSize() const {return fCoolerHalfSize ; }
45 const Float_t * GetAirGapHalfSize() const {return fAirGapHalfSize; }
46 const Float_t * GetInnerThermoHalfSize() const {return fInnerThermoHalfSize ; }
47 const Float_t * GetAlCoverParams() const {return fAlCoverParams ; }
48 const Float_t * GetFiberGlassHalfSize() const {return fFiberGlassHalfSize ; }
49 const Float_t * GetWarmAlCoverHalfSize() const {return fWarmAlCoverHalfSize ; }
50 const Float_t * GetWarmThermoHalfSize() const {return fWarmThermoHalfSize ; }
51 const Float_t * GetTSupport1HalfSize() const {return fTSupport1HalfSize ; }
52 const Float_t * GetTSupport2HalfSize() const {return fTSupport2HalfSize ; }
53 const Float_t * GetTCables1HalfSize() const {return fTCables1HalfSize ; }
54 const Float_t * GetTCables2HalfSize() const {return fTCables2HalfSize ; }
55 Float_t GetTSupportDist() const {return fTSupportDist ; }
56 const Float_t * GetFrameXHalfSize() const {return fFrameXHalfSize ; }
57 const Float_t * GetFrameZHalfSize() const {return fFrameZHalfSize ; }
58 const Float_t * GetFrameXPosition() const {return fFrameXPosition ; }
59 const Float_t * GetFrameZPosition() const {return fFrameZPosition ; }
60 const Float_t * GetFGupXHalfSize() const {return fFGupXHalfSize ; }
61 const Float_t * GetFGupXPosition() const {return fFGupXPosition ; }
62 const Float_t * GetFGupZHalfSize() const {return fFGupZHalfSize ; }
63 const Float_t * GetFGupZPosition() const {return fFGupZPosition ; }
64 const Float_t * GetFGlowXHalfSize() const {return fFGlowXHalfSize ; }
65 const Float_t * GetFGlowXPosition() const {return fFGlowXPosition ; }
66 const Float_t * GetFGlowZHalfSize() const {return fFGlowZHalfSize ; }
67 const Float_t * GetFGlowZPosition() const {return fFGlowZPosition ; }
68 const Float_t * GetFEEAirHalfSize() const {return fFEEAirHalfSize ; }
69 const Float_t * GetFEEAirPosition() const {return fFEEAirPosition ; }
70 const Float_t * GetEMCParams() const {return fEMCParams ; }
72 Float_t GetIPtoCrystalSurface() const {return fIPtoCrystalSurface ; }
73 Float_t GetIPtoOuterCoverDistance() const {return fIPtoOuterCoverDistance;}
74 Float_t GetCrystalSize(Int_t index) const {return 2.*fCrystalHalfSize[index] ; }
76 Int_t GetNCellsXInStrip() const { return fNCellsXInStrip;}
77 Int_t GetNCellsZInStrip() const { return fNCellsZInStrip;}
78 Int_t GetNStripX() const { return fNStripX ; }
79 Int_t GetNStripZ() const { return fNStripZ ; }
80 Int_t GetNTSuppots() const { return fNTSupports; }
81 Int_t GetNPhi() const { return fNPhi ; }
82 Int_t GetNZ() const { return fNZ ; }
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
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
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
165 Float_t fSupportPlateThickness ; // Thickness of the Aluminium support plate for Strip
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 ClassDef(AliPHOSEMCAGeometry,1) // EMCA geometry class
178 #endif // AliPHOSEMCAGEOMETRY_H