Logics of high gain adding to digits has changed
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEMCAGeometry.h
CommitLineData
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"
18class TObjArray ;
2f2c3b32 19
20// --- AliRoot header files ---
21
22class AliPHOSEMCAGeometry : public TObject {
23
24public:
88cb7938 25
a8c47ab6 26 AliPHOSEMCAGeometry();
3663622c 27 //Compiler-generated copy ctor and copy-assignment operator _ARE_ OK.
2f2c3b32 28
3663622c 29 virtual ~AliPHOSEMCAGeometry(void) {}
85218d13 30
e957fea8 31 Float_t * GetStripHalfSize() {return fStripHalfSize ;}
32 Float_t GetStripWallWidthOut() const {return fStripWallWidthOut ;}
85218d13 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 ;}
88cb7938 37 Float_t * GetSupportPlateHalfSize() { return fSupportPlateHalfSize ;}
e957fea8 38 Float_t * GetSupportPlateInHalfSize() {return fSupportPlateInHalfSize ;}
88cb7938 39 Float_t GetSupportPlateThickness(void) const { return fSupportPlateThickness ; }
85218d13 40
41 Float_t * GetPreampHalfSize() {return fPreampHalfSize ;}
42 Float_t * GetAPDHalfSize(void) {return fPinDiodeHalfSize ; }
43 Float_t * GetOuterThermoParams(void) {return fOuterThermoParams ; }
e957fea8 44 Float_t * GetCoolerHalfSize(void) {return fCoolerHalfSize ;}
45 Float_t * GetAirGapHalfSize(void) {return fAirGapHalfSize; }
85218d13 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 ; }
e957fea8 55 Float_t GetTSupportDist() const {return fTSupportDist ; }
85218d13 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
2f2c3b32 72 Float_t GetIPtoCrystalSurface(void) const {
73 return fIPtoCrystalSurface ; }
74 Float_t GetIPtoOuterCoverDistance(void) const {
75 return fIPtoOuterCoverDistance ; }
85218d13 76 Float_t GetCrystalSize(Int_t index) const {return 2.*fCrystalHalfSize[index] ; }
77
78
79 Int_t GetNCellsInStrip() const { return fNCellsInStrip;}
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(void) const { return fNPhi ; }
84 Int_t GetNZ(void) const { return fNZ ; }
85
2f2c3b32 86
87private:
88
89308175 89 Float_t fStripHalfSize[3] ; // Strip unit size/2
90 Float_t fAirCellHalfSize[3] ; // geometry parameter
91 Float_t fWrappedHalfSize[3] ; // geometry parameter
92 Float_t fSupportPlateHalfSize[3] ; // geometry parameter
93 Float_t fSupportPlateInHalfSize[3] ; // geometry parameter
94 Float_t fCrystalHalfSize[3] ; // crystal size/2
95 Float_t fAirGapLed ; // geometry parameter
96 Float_t fStripWallWidthOut ; // Side to another strip
97 Float_t fStripWallWidthIn ; // geometry parameter
98 Float_t fTyvecThickness ; // geometry parameter
99 Float_t fTSupport1HalfSize[3] ; // geometry parameter
100 Float_t fTSupport2HalfSize[3] ; // geometry parameter
101 Float_t fPreampHalfSize[3] ; // geometry parameter
102 Float_t fPinDiodeHalfSize[3] ; // Size of the PIN Diode
103
104 Float_t fOuterThermoParams[4] ; // geometry parameter
105 Float_t fCoolerHalfSize[3] ; // geometry parameter
106 Float_t fAirGapHalfSize[3] ; // geometry parameter
107 Float_t fInnerThermoHalfSize[3] ; // geometry parameter
108 Float_t fAlCoverParams[4] ; // geometry parameter
109 Float_t fFiberGlassHalfSize[3] ; // geometry parameter
110
111
112 Float_t fInnerThermoWidthX ; // geometry parameter
113 Float_t fInnerThermoWidthY ; // geometry parameter
114 Float_t fInnerThermoWidthZ ; // geometry parameter
115 Float_t fAirGapWidthX ; // geometry parameter
116 Float_t fAirGapWidthY ; // geometry parameter
117 Float_t fAirGapWidthZ ; // geometry parameter
118 Float_t fCoolerWidthX ; // geometry parameter
119 Float_t fCoolerWidthY ; // geometry parameter
120 Float_t fCoolerWidthZ ; // geometry parameter
121 Float_t fAlCoverThickness ; // geometry parameter
122 Float_t fOuterThermoWidthXUp ; // geometry parameter
123 Float_t fOuterThermoWidthXLow; // geometry parameter
124 Float_t fOuterThermoWidthY ; // geometry parameter
125 Float_t fOuterThermoWidthZ ; // geometry parameter
126 Float_t fAlFrontCoverX ; // geometry parameter
127 Float_t fAlFrontCoverZ ; // geometry parameter
128 Float_t fFiberGlassSup2X ; // geometry parameter
129 Float_t fFiberGlassSup1X ; // geometry parameter
130 Float_t fFrameHeight ; // geometry parameter
131 Float_t fFrameThickness ; // geometry parameter
132 Float_t fAirSpaceFeeX ; // geometry parameter
133 Float_t fAirSpaceFeeZ ; // geometry parameter
134 Float_t fAirSpaceFeeY ; // geometry parameter
135 Float_t fTCables2HalfSize[3] ; // geometry parameter
136 Float_t fTCables1HalfSize[3] ; // geometry parameter
137 Float_t fWarmUpperThickness ; // geometry parameter
138 Float_t fWarmBottomThickness ; // geometry parameter
139 Float_t fWarmAlCoverWidthX ; // geometry parameter
140 Float_t fWarmAlCoverWidthY ; // geometry parameter
141 Float_t fWarmAlCoverWidthZ ; // geometry parameter
142 Float_t fWarmAlCoverHalfSize[3] ; // geometry parameter
143 Float_t fWarmThermoHalfSize[3] ; // geometry parameter
144 Float_t fFiberGlassSup1Y ; // geometry parameter
145 Float_t fFiberGlassSup2Y ; // geometry parameter
146 Float_t fTSupportDist ; // geometry parameter
147 Float_t fTSupport1Thickness ; // geometry parameter
148 Float_t fTSupport2Thickness ; // geometry parameter
149 Float_t fTSupport1Width ; // geometry parameter
150 Float_t fTSupport2Width ; // geometry parameter
151 Float_t fFrameXHalfSize[3] ; // geometry parameter
152 Float_t fFrameZHalfSize[3] ; // geometry parameter
153 Float_t fFrameXPosition[3] ; // geometry parameter
154 Float_t fFrameZPosition[3] ; // geometry parameter
155 Float_t fFGupXHalfSize[3] ; // geometry parameter
156 Float_t fFGupXPosition[3] ; // geometry parameter
157 Float_t fFGupZHalfSize[3] ; // geometry parameter
158 Float_t fFGupZPosition[3] ; // geometry parameter
159 Float_t fFGlowXHalfSize[3] ; // geometry parameter
160 Float_t fFGlowXPosition[3] ; // geometry parameter
161 Float_t fFGlowZHalfSize[3] ; // geometry parameter
162 Float_t fFGlowZPosition[3] ; // geometry parameter
163 Float_t fFEEAirHalfSize[3] ; // geometry parameter
164 Float_t fFEEAirPosition[3] ; // geometry parameter
165 Float_t fEMCParams[4] ; // geometry parameter
88cb7938 166 Float_t fIPtoOuterCoverDistance ; // Distances from interaction point to outer cover
167 Float_t fIPtoCrystalSurface ; // Distances from interaction point to Xtal surface
168
169 Float_t fSupportPlateThickness ; // Thickness of the Aluminium support plate for Strip
170
89308175 171 Int_t fNCellsInStrip ; // Number of cells in a strip unit
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
88cb7938 177 ClassDef(AliPHOSEMCAGeometry,1) // EMCA geometry class
2f2c3b32 178
179} ;
180
181#endif // AliPHOSEMCAGEOMETRY_H