ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Utilities
Geo2G4
src
LArWheelSolidInit.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include <cassert>
6
#include <stdexcept>
7
#include <iostream>
8
9
10
#include "
GeoSpecialShapes/EMECData.h
"
11
12
#include "CLHEP/Units/PhysicalConstants.h"
13
#include "G4GeometryTolerance.hh"
14
#include "G4Polycone.hh"
15
16
#include "
GeoSpecialShapes/LArWheelCalculator.h
"
17
#include "
LArWheelSolid.h
"
18
#include "
LArFanSection.h
"
19
#include "
G4ShiftedCone.h
"
20
21
#ifdef DEBUG_LARWHEELSOLID
22
G4int LArWheelSolid::Verbose = 0;
23
#endif
24
25
// these are internal technical constants, should not go in DB
26
const
unsigned
int
LArWheelSolid::s_IterationsLimit
= 50;
// That's enough even for 10e-15 IterationPrecision
27
const
G4double
LArWheelSolid::s_Tolerance
= G4GeometryTolerance::GetInstance()->GetSurfaceTolerance() / 2;
28
const
G4double
LArWheelSolid::s_AngularTolerance
= G4GeometryTolerance::GetInstance()->GetAngularTolerance() / 2;
29
const
G4double
LArWheelSolid::s_IterationPrecision
= 0.001*CLHEP::mm;
30
const
G4double
LArWheelSolid::s_IterationPrecision2
= s_IterationPrecision * s_IterationPrecision;
31
32
LArWheelSolid::LArWheelSolid
(
const
G4String& name,
LArWheelSolid_t
type
,
33
G4int zside,
34
LArWheelCalculator
*calc,
35
const
EMECData
*emecData
36
)
37
: G4VSolid(name)
38
#ifndef PORTABLE_LAR_SHAPE
39
,
AthMessaging
(
"LArWheelSolid"
)
40
#endif
41
,
m_Type
(
type
),
m_Calculator
(calc),
m_PhiPosition
(
CLHEP
::halfpi),
m_fs
(0)
42
{
43
#ifndef PORTABLE_LAR_SHAPE
44
#ifdef LARWHEELSOLID_USE_FANBOUND
45
ATH_MSG_INFO
(
"compiled with G4 FanBound"
);
46
#else
47
ATH_MSG_INFO
(
"compiled with private find_exit_point"
);
48
#endif
49
#endif
50
51
LArG4::LArWheelCalculator_t
calc_type =
LArG4::LArWheelCalculator_t
(0);
52
switch
(
m_Type
){
53
case
InnerAbsorberWheel
:
54
calc_type =
LArG4::InnerAbsorberWheel
;
55
break
;
56
case
OuterAbsorberWheel
:
57
calc_type =
LArG4::OuterAbsorberWheel
;
58
break
;
59
case
InnerElectrodWheel
:
60
calc_type =
LArG4::InnerElectrodWheel
;
61
break
;
62
case
OuterElectrodWheel
:
63
calc_type =
LArG4::OuterElectrodWheel
;
64
break
;
65
case
InnerAbsorberModule
:
66
calc_type =
LArG4::InnerAbsorberModule
;
67
break
;
68
case
OuterAbsorberModule
:
69
calc_type =
LArG4::OuterAbsorberModule
;
70
break
;
71
case
InnerElectrodModule
:
72
calc_type =
LArG4::InnerElectrodModule
;
73
break
;
74
case
OuterElectrodModule
:
75
calc_type =
LArG4::OuterElectrodModule
;
76
break
;
77
case
InnerGlueWheel
:
78
calc_type =
LArG4::InnerGlueWheel
;
79
break
;
80
case
OuterGlueWheel
:
81
calc_type =
LArG4::OuterGlueWheel
;
82
break
;
83
case
InnerLeadWheel
:
84
calc_type =
LArG4::InnerLeadWheel
;
85
break
;
86
case
OuterLeadWheel
:
87
calc_type =
LArG4::OuterLeadWheel
;
88
break
;
89
case
InnerAbsorberCone
:
90
calc_type =
LArG4::InnerAbsorberWheel
;
91
break
;
92
case
InnerElectrodCone
:
93
calc_type =
LArG4::InnerElectrodWheel
;
94
break
;
95
case
InnerGlueCone
:
96
calc_type =
LArG4::InnerGlueWheel
;
97
break
;
98
case
InnerLeadCone
:
99
calc_type =
LArG4::InnerLeadWheel
;
100
break
;
101
case
OuterAbsorberFrontCone
:
102
calc_type =
LArG4::OuterAbsorberWheel
;
103
break
;
104
case
OuterElectrodFrontCone
:
105
calc_type =
LArG4::OuterElectrodWheel
;
106
break
;
107
case
OuterGlueFrontCone
:
108
calc_type =
LArG4::OuterGlueWheel
;
109
break
;
110
case
OuterLeadFrontCone
:
111
calc_type =
LArG4::OuterLeadWheel
;
112
break
;
113
case
OuterAbsorberBackCone
:
114
calc_type =
LArG4::OuterAbsorberWheel
;
115
break
;
116
case
OuterElectrodBackCone
:
117
calc_type =
LArG4::OuterElectrodWheel
;
118
break
;
119
case
OuterGlueBackCone
:
120
calc_type =
LArG4::OuterGlueWheel
;
121
break
;
122
case
OuterLeadBackCone
:
123
calc_type =
LArG4::OuterLeadWheel
;
124
break
;
125
default
:
126
G4Exception(
"LArWheelSolid"
,
"UnknownSolidType"
, FatalException,
127
"Constructor: unknown LArWheelSolid_t"
);
128
}
129
130
if
(
m_Calculator
== 0)
m_Calculator
=
new
LArWheelCalculator
(*emecData,calc_type, zside);
131
132
const
G4String bs_name = name +
"-Bounding"
;
133
#ifdef DEBUG_LARWHEELSOLID
134
const
char
*venv = getenv(
"LARWHEELSOLID_VERBOSE"
);
135
if
(venv) Verbose = atoi(venv);
136
std::cout <<
"The LArWheelSolid build "
<< __DATE__ <<
" "
<< __TIME__
137
<< std::endl;
138
std::cout <<
"LArWheelSolid verbosity level is "
<< Verbose << std::endl;
139
#endif
140
141
// Initialize code that depends on wheel type:
142
m_FanHalfThickness
=
GetCalculator
()->
GetFanHalfThickness
();
143
m_FHTplusT
=
m_FanHalfThickness
+
s_Tolerance
;
144
m_FHTminusT
=
m_FanHalfThickness
-
s_Tolerance
;
145
switch
(
m_Type
){
146
case
InnerAbsorberWheel
:
147
case
InnerElectrodWheel
:
148
case
InnerAbsorberModule
:
149
case
InnerElectrodModule
:
150
case
InnerGlueWheel
:
151
case
InnerLeadWheel
:
152
case
InnerAbsorberCone
:
153
case
InnerElectrodCone
:
154
case
InnerGlueCone
:
155
case
InnerLeadCone
:
156
inner_solid_init
(bs_name);
157
break
;
158
case
OuterAbsorberWheel
:
159
case
OuterElectrodWheel
:
160
case
OuterAbsorberModule
:
161
case
OuterElectrodModule
:
162
case
OuterGlueWheel
:
163
case
OuterLeadWheel
:
164
case
OuterAbsorberFrontCone
:
165
case
OuterElectrodFrontCone
:
166
case
OuterGlueFrontCone
:
167
case
OuterLeadFrontCone
:
168
case
OuterAbsorberBackCone
:
169
case
OuterElectrodBackCone
:
170
case
OuterGlueBackCone
:
171
case
OuterLeadBackCone
:
172
outer_solid_init
(bs_name);
173
break
;
174
default
:
175
G4Exception(
"LArWheelSolid"
,
"UnknownSolidType"
, FatalException,
176
"Constructor: unknown LArWheelSolid_t"
);
177
}
178
179
m_Zsect_start_search
= (
m_Zsect
.size() - 1) - 1;
180
#ifndef PORTABLE_LAR_SHAPE
181
init_tests
();
182
test
();
// activated by env. variable
183
clean_tests
();
184
#endif
185
186
#ifdef DEBUG_LARWHEELSOLID
187
m_fs
->print();
188
std::cout <<
"Limits: ("
<<
m_Zsect
.size() <<
")"
<< std::endl;
189
for
(
size_t
i = 0; i <
m_Zsect
.size(); ++ i){
190
std::cout << i <<
" "
<<
m_Zsect
[i] << std::endl;
191
}
192
#endif
193
#ifndef PORTABLE_LAR_SHAPE
194
ATH_MSG_DEBUG
(
"solid of type "
195
<<
LArWheelCalculator::LArWheelCalculatorTypeString
(calc_type)
196
<<
" initialized"
);
197
#endif
198
}
199
200
LArWheelSolid::~LArWheelSolid
()
201
{
202
if
(
m_fs
)
delete
m_fs
;
203
}
204
205
// initialization of inner Absorber or Electrod wheels
206
void
LArWheelSolid::inner_solid_init
(
const
G4String &bs_name)
207
{
208
m_IsOuter
=
false
;
209
m_FanPhiAmplitude
= 0.065;
// internal technical constant, should not go in DB
210
set_phi_size
();
211
212
std::array<G4double,2> zPlane{}, rInner{}, rOuter{};
213
zPlane[1] =
GetCalculator
()->
GetWheelThickness
();
214
G4double wheel_thickness = zPlane[1] - zPlane[0];
215
GetCalculator
()->
GetWheelInnerRadius
(rInner);
216
GetCalculator
()->
GetWheelOuterRadius
(rOuter);
217
const
G4double phi_min =
m_PhiPosition
-
m_FanPhiAmplitude
218
-
GetCalculator
()->
GetFanStepOnPhi
() * 2;
219
220
m_Zmin
= zPlane[0];
m_Zmax
= zPlane[1];
221
m_Rmin
= rInner[0];
m_Rmax
= rOuter[1];
222
m_Ymin
=
m_Rmin
* 0.9;
223
m_Zmid
= zPlane[1];
224
m_Ymid
= (rInner[0] + rOuter[1]) * 0.5;
225
226
if
(
m_Type
==
InnerAbsorberCone
227
||
m_Type
==
InnerElectrodCone
228
||
m_Type
==
InnerGlueCone
229
||
m_Type
==
InnerLeadCone
230
){
231
m_BoundingShape
=
new
G4ShiftedCone
(
232
bs_name +
"Cone"
, zPlane[0], zPlane[1],
233
rInner[0], rOuter[0], rInner[1], rOuter[1]
234
);
235
}
else
{
236
m_BoundingShape
=
new
G4Polycone(
237
bs_name +
"Polycone"
,
m_MinPhi
,
m_MaxPhi
-
m_MinPhi
,
238
2, zPlane.data(), rInner.data(), rOuter.data()
239
);
240
}
241
#ifdef LARWHEELSOLID_USE_FANBOUND
242
const
G4double phi_size = (
m_FanPhiAmplitude
+
GetCalculator
()->
GetFanStepOnPhi
() * 2) * 2;
243
FanBound =
new
G4Polycone(bs_name +
"ofFan"
, phi_min, phi_size,
244
2, zPlane, rInner, rOuter);
245
#endif
246
#ifndef PORTABLE_LAR_SHAPE
247
ATH_MSG_INFO
(
m_BoundingShape
->GetName() +
" is the m_BoundingShape"
);
248
#endif
249
250
const
G4double half_wave_length =
GetCalculator
()->
GetHalfWaveLength
();
251
const
G4double sss =
GetCalculator
()->
GetStraightStartSection
();
252
m_Zsect
.push_back(0.);
253
m_Zsect
.push_back(sss + half_wave_length * 0.25);
254
const
G4int num_fs =
GetCalculator
()->
GetNumberOfHalfWaves
() + 1;
255
for
(G4int i = 2; i < num_fs; i ++){
256
const
G4double zi = half_wave_length * (i - 1) + sss;
257
#if LARWHEELSOLID_ZSECT_MULT > 1
258
for
(G4int j =
LARWHEELSOLID_ZSECT_MULT
- 1; j > 0; -- j){
259
m_Zsect
.push_back(zi - half_wave_length * j /
LARWHEELSOLID_ZSECT_MULT
);
260
}
261
#endif
262
m_Zsect
.push_back(zi);
263
}
264
m_Zsect
.push_back(wheel_thickness -
m_Zsect
[1]);
265
m_Zsect
.push_back(wheel_thickness -
m_Zsect
[0]);
266
267
m_fs
=
new
LArFanSections
(
268
rInner[0], rInner[1], rOuter[0], rOuter[1],
269
m_Rmax
*cos(phi_min),
m_Zsect
.front(),
m_Zsect
.back()
270
);
271
}
272
273
// initialization of outer Absorber or Electrod wheels
274
void
LArWheelSolid::outer_solid_init
(
const
G4String &bs_name)
275
{
276
m_IsOuter
=
true
;
277
m_FanPhiAmplitude
= 0.02;
// internal technical constant, should not go in DB
278
set_phi_size
();
279
280
std::array<G4double,3> zPlane{}, rInner{}, rOuter{};
281
zPlane[2] =
GetCalculator
()->
GetWheelThickness
();
282
G4double wheel_thickness = zPlane[2] - zPlane[0];
283
zPlane[1] =
GetCalculator
()->
GetWheelInnerRadius
(rInner);
284
GetCalculator
()->
GetWheelOuterRadius
(rOuter);
285
const
G4double phi_min =
286
m_PhiPosition
-
m_FanPhiAmplitude
-
287
GetCalculator
()->
GetFanStepOnPhi
() * 2;
288
289
m_Zmid
= zPlane[1];
290
m_Ymid
= (rInner[0] + rOuter[2]) * 0.5;
291
292
bool
hasFrontSections =
false
;
293
bool
hasBackSections =
false
;
294
if
(
m_Type
==
OuterAbsorberFrontCone
295
||
m_Type
==
OuterElectrodFrontCone
296
||
m_Type
==
OuterGlueFrontCone
297
||
m_Type
==
OuterLeadFrontCone
298
){
299
m_Zmin
= zPlane[0];
m_Zmax
= zPlane[1];
300
m_Rmin
= rInner[0];
m_Rmax
= rOuter[1];
301
m_BoundingShape
=
new
G4ShiftedCone
(
302
bs_name +
"FrontCone"
, zPlane[0], zPlane[1],
303
rInner[0], rOuter[0], rInner[1], rOuter[1]
304
);
305
hasFrontSections =
true
;
306
}
else
if
(
m_Type
==
OuterAbsorberBackCone
307
||
m_Type
==
OuterElectrodBackCone
308
||
m_Type
==
OuterGlueBackCone
309
||
m_Type
==
OuterLeadBackCone
310
){
311
m_Zmin
= zPlane[1];
m_Zmax
= zPlane[2];
312
m_Rmin
= rInner[1];
m_Rmax
= rOuter[2];
313
m_BoundingShape
=
new
G4ShiftedCone
(
314
bs_name +
"BackCone"
, zPlane[1], zPlane[2],
315
rInner[1], rOuter[1], rInner[2], rOuter[2]
316
);
317
hasBackSections =
true
;
318
}
else
{
319
m_Zmin
= zPlane[0];
m_Zmax
= zPlane[2];
320
m_Rmin
= rInner[0];
m_Rmax
= rOuter[2];
321
m_BoundingShape
=
new
G4Polycone(
322
bs_name +
"Polycone"
,
m_MinPhi
,
m_MaxPhi
-
m_MinPhi
,
323
3, zPlane.data(), rInner.data(), rOuter.data()
324
);
325
hasFrontSections =
true
;
326
hasBackSections =
true
;
327
}
328
329
m_Ymin
=
m_Rmin
* 0.9;
330
331
#ifdef LARWHEELSOLID_USE_FANBOUND
332
const
G4double phi_size = (
m_FanPhiAmplitude
+
GetCalculator
()->
GetFanStepOnPhi
() * 2) * 2;
333
FanBound =
new
G4Polycone(bs_name +
"ofFan"
, phi_min, phi_size,
334
3, zPlane, rInner, rOuter);
335
#endif
336
#ifndef PORTABLE_LAR_SHAPE
337
ATH_MSG_INFO
(
m_BoundingShape
->GetName() +
" is the m_BoundingShape"
);
338
#endif
339
const
G4double half_wave_length =
GetCalculator
()->
GetHalfWaveLength
();
340
const
G4double sss =
GetCalculator
()->
GetStraightStartSection
();
341
342
if
(hasFrontSections){
343
m_Zsect
.push_back(0.);
344
m_Zsect
.push_back(sss + half_wave_length * 0.25);
345
}
else
{
346
m_Zsect
.push_back(
m_Zmid
);
347
}
348
const
G4int num_fs =
GetCalculator
()->
GetNumberOfHalfWaves
() + 1;
349
350
for
(G4int i = 2; i < num_fs; i ++){
351
const
G4double zi = half_wave_length * (i - 1) + sss;
352
#if LARWHEELSOLID_ZSECT_MULT > 1
353
for
(G4int j =
LARWHEELSOLID_ZSECT_MULT
- 1; j > 0; -- j){
354
G4double zj = zi - half_wave_length * j /
LARWHEELSOLID_ZSECT_MULT
;
355
if
(hasFrontSections && hasBackSections
356
&&
m_Zsect
.back() <
m_Zmid
&& zj >=
m_Zmid
){
357
m_Zsect
.push_back(
m_Zmid
);
358
}
359
if
((zj <
m_Zmid
&& hasFrontSections)
360
|| (zj >
m_Zmid
&& hasBackSections)){
361
m_Zsect
.push_back(zj);
362
}
363
}
364
#endif
365
if
(hasFrontSections && hasBackSections
366
&&
m_Zsect
.back() <
m_Zmid
&& zi >=
m_Zmid
){
367
m_Zsect
.push_back(
m_Zmid
);
368
}
369
if
((zi <
m_Zmid
&& hasFrontSections)
370
|| (zi >
m_Zmid
&& hasBackSections)){
371
m_Zsect
.push_back(zi);
372
}
373
}
374
if
(hasBackSections){
375
m_Zsect
.push_back(wheel_thickness - sss - half_wave_length * 0.25);
376
m_Zsect
.push_back(wheel_thickness);
377
}
else
{
378
m_Zsect
.push_back(
m_Zmid
);
379
}
380
381
m_fs
=
new
LArFanSections
(
382
rInner[0], rInner[1], rOuter[0], rOuter[1],
383
m_Rmax
*cos(phi_min),
m_Zsect
.front(),
m_Zmid
384
);
385
}
386
387
// it should be called after m_FanPhiAmplitude has been set
388
// and before m_BoundingShape creation
389
void
LArWheelSolid::set_phi_size
(
void
)
390
{
391
if
(
GetCalculator
()->GetisModule()){
392
m_MinPhi
=
m_PhiPosition
- CLHEP::pi * (1. / 8.) -
m_FanPhiAmplitude
;
393
m_MaxPhi
=
m_PhiPosition
+ CLHEP::pi * (1. / 8.) +
m_FanPhiAmplitude
;
394
}
else
{
395
m_MinPhi
= 0.;
396
m_MaxPhi
= CLHEP::twopi;
397
}
398
}
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
EMECData.h
G4ShiftedCone.h
LArFanSection.h
LArWheelCalculator.h
LArWheelSolid.h
LARWHEELSOLID_ZSECT_MULT
#define LARWHEELSOLID_ZSECT_MULT
Definition
LArWheelSolid.h:26
LArWheelSolid_t
LArWheelSolid_t
Definition
LArWheelSolid_type.h:12
OuterGlueWheel
@ OuterGlueWheel
Definition
LArWheelSolid_type.h:22
OuterElectrodFrontCone
@ OuterElectrodFrontCone
Definition
LArWheelSolid_type.h:30
OuterLeadBackCone
@ OuterLeadBackCone
Definition
LArWheelSolid_type.h:36
OuterElectrodBackCone
@ OuterElectrodBackCone
Definition
LArWheelSolid_type.h:34
OuterAbsorberFrontCone
@ OuterAbsorberFrontCone
Definition
LArWheelSolid_type.h:29
OuterElectrodModule
@ OuterElectrodModule
Definition
LArWheelSolid_type.h:20
OuterElectrodWheel
@ OuterElectrodWheel
Definition
LArWheelSolid_type.h:16
InnerAbsorberCone
@ InnerAbsorberCone
Definition
LArWheelSolid_type.h:25
OuterAbsorberWheel
@ OuterAbsorberWheel
Definition
LArWheelSolid_type.h:14
OuterLeadFrontCone
@ OuterLeadFrontCone
Definition
LArWheelSolid_type.h:32
InnerGlueWheel
@ InnerGlueWheel
Definition
LArWheelSolid_type.h:21
InnerGlueCone
@ InnerGlueCone
Definition
LArWheelSolid_type.h:27
OuterGlueBackCone
@ OuterGlueBackCone
Definition
LArWheelSolid_type.h:35
InnerAbsorberWheel
@ InnerAbsorberWheel
Definition
LArWheelSolid_type.h:13
InnerElectrodCone
@ InnerElectrodCone
Definition
LArWheelSolid_type.h:26
InnerLeadCone
@ InnerLeadCone
Definition
LArWheelSolid_type.h:28
InnerAbsorberModule
@ InnerAbsorberModule
Definition
LArWheelSolid_type.h:17
OuterAbsorberModule
@ OuterAbsorberModule
Definition
LArWheelSolid_type.h:18
InnerLeadWheel
@ InnerLeadWheel
Definition
LArWheelSolid_type.h:23
OuterLeadWheel
@ OuterLeadWheel
Definition
LArWheelSolid_type.h:24
InnerElectrodModule
@ InnerElectrodModule
Definition
LArWheelSolid_type.h:19
OuterAbsorberBackCone
@ OuterAbsorberBackCone
Definition
LArWheelSolid_type.h:33
OuterGlueFrontCone
@ OuterGlueFrontCone
Definition
LArWheelSolid_type.h:31
InnerElectrodWheel
@ InnerElectrodWheel
Definition
LArWheelSolid_type.h:15
AthMessaging::AthMessaging
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Definition
AthMessaging.cxx:13
G4ShiftedCone
Definition
G4ShiftedCone.h:87
LArFanSections
Definition
LArFanSection.h:12
LArWheelCalculator
This class separates some of the geometry details of the LAr endcap.
Definition
LArWheelCalculator.h:57
LArWheelCalculator::GetFanStepOnPhi
double GetFanStepOnPhi() const
Definition
LArWheelCalculator.h:92
LArWheelCalculator::GetNumberOfHalfWaves
int GetNumberOfHalfWaves() const
Definition
LArWheelCalculator.h:88
LArWheelCalculator::GetFanHalfThickness
double GetFanHalfThickness(LArG4::LArWheelCalculator_t) const
Definition
LArWheelCalculator.cxx:439
LArWheelCalculator::GetHalfWaveLength
double GetHalfWaveLength() const
Definition
LArWheelCalculator.h:93
LArWheelCalculator::GetStraightStartSection
double GetStraightStartSection() const
Definition
LArWheelCalculator.h:79
LArWheelCalculator::GetWheelThickness
double GetWheelThickness() const
Definition
LArWheelCalculator.h:77
LArWheelCalculator::GetWheelInnerRadius
double GetWheelInnerRadius(std::array< double, 2 > &rInner) const
Definition
LArWheelCalculator.cxx:491
LArWheelCalculator::LArWheelCalculatorTypeString
static const char * LArWheelCalculatorTypeString(LArG4::LArWheelCalculator_t)
Definition
LArWheelCalculator.cxx:65
LArWheelCalculator::GetWheelOuterRadius
void GetWheelOuterRadius(std::array< double, 2 > &rOuter) const
Definition
LArWheelCalculator.cxx:523
LArWheelSolid::m_Calculator
LArWheelCalculator * m_Calculator
Definition
LArWheelSolid.h:148
LArWheelSolid::outer_solid_init
void outer_solid_init(const G4String &)
Definition
LArWheelSolidInit.cxx:274
LArWheelSolid::s_IterationPrecision2
static const G4double s_IterationPrecision2
Definition
LArWheelSolid.h:143
LArWheelSolid::m_Type
const LArWheelSolid_t m_Type
Definition
LArWheelSolid.h:147
LArWheelSolid::s_IterationPrecision
static const G4double s_IterationPrecision
Definition
LArWheelSolid.h:142
LArWheelSolid::s_Tolerance
static const G4double s_Tolerance
Definition
LArWheelSolid.h:140
LArWheelSolid::set_phi_size
void set_phi_size(void)
Definition
LArWheelSolidInit.cxx:389
LArWheelSolid::LArWheelSolid
LArWheelSolid(const G4String &name, LArWheelSolid_t type, G4int zside=1, LArWheelCalculator *calc=0, const EMECData *emecData=0)
Definition
LArWheelSolidInit.cxx:32
LArWheelSolid::init_tests
void init_tests(void)
Definition
LArWheelSolidTests.cxx:606
LArWheelSolid::m_Zsect
std::vector< G4double > m_Zsect
Definition
LArWheelSolid.h:159
LArWheelSolid::~LArWheelSolid
virtual ~LArWheelSolid()
Definition
LArWheelSolidInit.cxx:200
LArWheelSolid::m_Ymin
G4double m_Ymin
Definition
LArWheelSolid.h:167
LArWheelSolid::m_MinPhi
G4double m_MinPhi
Definition
LArWheelSolid.h:151
LArWheelSolid::m_Zmax
G4double m_Zmax
Definition
LArWheelSolid.h:169
LArWheelSolid::m_Rmin
G4double m_Rmin
Definition
LArWheelSolid.h:169
LArWheelSolid::m_BoundingShape
G4VSolid * m_BoundingShape
Definition
LArWheelSolid.h:154
LArWheelSolid::s_IterationsLimit
static const unsigned int s_IterationsLimit
Definition
LArWheelSolid.h:144
LArWheelSolid::clean_tests
void clean_tests(void)
Definition
LArWheelSolidTests.cxx:482
LArWheelSolid::m_Zsect_start_search
G4int m_Zsect_start_search
Definition
LArWheelSolid.h:160
LArWheelSolid::s_AngularTolerance
static const G4double s_AngularTolerance
Definition
LArWheelSolid.h:141
LArWheelSolid::m_Zmin
G4double m_Zmin
Definition
LArWheelSolid.h:169
LArWheelSolid::m_Rmax
G4double m_Rmax
Definition
LArWheelSolid.h:169
LArWheelSolid::m_FanPhiAmplitude
G4double m_FanPhiAmplitude
Definition
LArWheelSolid.h:150
LArWheelSolid::m_MaxPhi
G4double m_MaxPhi
Definition
LArWheelSolid.h:152
LArWheelSolid::m_PhiPosition
const G4double m_PhiPosition
Definition
LArWheelSolid.h:153
LArWheelSolid::m_Zmid
G4double m_Zmid
Definition
LArWheelSolid.h:165
LArWheelSolid::m_fs
LArFanSections * m_fs
Definition
LArWheelSolid.h:162
LArWheelSolid::test
void test(void)
Definition
LArWheelSolidTests.cxx:396
LArWheelSolid::inner_solid_init
void inner_solid_init(const G4String &)
Definition
LArWheelSolidInit.cxx:206
LArWheelSolid::m_Ymid
G4double m_Ymid
Definition
LArWheelSolid.h:171
LArWheelSolid::m_FHTminusT
G4double m_FHTminusT
Definition
LArWheelSolid.h:149
LArWheelSolid::m_FanHalfThickness
G4double m_FanHalfThickness
Definition
LArWheelSolid.h:149
LArWheelSolid::GetCalculator
const LArWheelCalculator * GetCalculator(void) const
Definition
LArWheelSolid.h:130
LArWheelSolid::m_IsOuter
G4bool m_IsOuter
Definition
LArWheelSolid.h:146
LArWheelSolid::m_FHTplusT
G4double m_FHTplusT
Definition
LArWheelSolid.h:149
CLHEP
STD'S.
Definition
CaloNoiseCompCondAlg.h:57
LArG4::LArWheelCalculator_t
LArWheelCalculator_t
Definition
LArWheelCalculatorEnums.h:10
LArG4::OuterElectrodModule
@ OuterElectrodModule
Definition
LArWheelCalculatorEnums.h:14
LArG4::InnerLeadWheel
@ InnerLeadWheel
Definition
LArWheelCalculatorEnums.h:20
LArG4::OuterLeadWheel
@ OuterLeadWheel
Definition
LArWheelCalculatorEnums.h:20
LArG4::InnerAbsorberWheel
@ InnerAbsorberWheel
Definition
LArWheelCalculatorEnums.h:11
LArG4::InnerElectrodWheel
@ InnerElectrodWheel
Definition
LArWheelCalculatorEnums.h:12
LArG4::InnerGlueWheel
@ InnerGlueWheel
Definition
LArWheelCalculatorEnums.h:19
LArG4::InnerElectrodModule
@ InnerElectrodModule
Definition
LArWheelCalculatorEnums.h:14
LArG4::OuterAbsorberModule
@ OuterAbsorberModule
Definition
LArWheelCalculatorEnums.h:13
LArG4::OuterAbsorberWheel
@ OuterAbsorberWheel
Definition
LArWheelCalculatorEnums.h:11
LArG4::OuterElectrodWheel
@ OuterElectrodWheel
Definition
LArWheelCalculatorEnums.h:12
LArG4::InnerAbsorberModule
@ InnerAbsorberModule
Definition
LArWheelCalculatorEnums.h:13
LArG4::OuterGlueWheel
@ OuterGlueWheel
Definition
LArWheelCalculatorEnums.h:19
EMECData
Definition
EMECData.h:131
type
Generated on
for ATLAS Offline Software by
1.17.0