ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArGeoModel
LArReadoutGeometry
src
HECLongBlock.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
LArReadoutGeometry/HECLongBlock.h
"
6
7
HECLongBlock::HECLongBlock
(
const
HECLongBlock
&right)
8
:
m_blockNumber
(right.
m_blockNumber
),
9
m_innerRadius
(right.
m_innerRadius
),
10
m_outerRadius
(right.
m_outerRadius
),
11
m_depth
(right.
m_depth
),
12
m_numLArGaps
(right.
m_numLArGaps
),
13
m_frontPlateThickness
(right.
m_frontPlateThickness
),
14
m_backPlateThickness
(right.
m_backPlateThickness
)
15
{
16
for
(
int
i=0;i<14;i++) {
17
m_RadialSeg
.push_back( right.
m_RadialSeg
[i] ?
new
HECRadialSegment
(*right.
m_RadialSeg
[i]) :
nullptr
);
18
}
19
}
20
21
HECLongBlock::HECLongBlock
(
unsigned
int
blockNum
22
,
double
innerRad
23
,
double
outerRad
24
,
double
totalDepth
25
,
unsigned
int
nLarGaps
26
,
double
frontPlateThick
27
,
double
backPlateThick
28
,
const
double
etaRange[15])
29
:
m_blockNumber
(blockNum),
30
m_innerRadius
(innerRad),
31
m_outerRadius
(outerRad),
32
m_depth
(totalDepth),
33
m_numLArGaps
(nLarGaps),
34
m_frontPlateThickness
(frontPlateThick),
35
m_backPlateThickness
(backPlateThick)
36
{
37
for
(
int
i=0;i<14;i++)
m_RadialSeg
.push_back(
nullptr
);
38
bool
started=
false
;
39
for
(
int
i=0;i<14;i++) {
40
if
(etaRange[i]!=etaRange[i+1]) {
41
started=
true
;
42
m_RadialSeg
[i] =
new
HECRadialSegment
(etaRange[i],etaRange[i+1]);
43
}
44
else
{
45
if
(started)
break
;
46
}
47
}
48
}
49
50
51
HECLongBlock::~HECLongBlock
()
52
{
53
for
(
int
i=0;i<14;i++)
delete
m_RadialSeg
[i];
54
}
55
56
HECLongBlock
&
HECLongBlock::operator=
(
const
HECLongBlock
&right)
57
{
58
if
(
this
!= & right) {
59
m_blockNumber
=right.
m_blockNumber
;
60
m_innerRadius
=right.
m_innerRadius
;
61
m_outerRadius
=right.
m_outerRadius
;
62
m_depth
=right.
m_depth
;
63
m_numLArGaps
=right.
m_numLArGaps
;
64
m_frontPlateThickness
=right.
m_frontPlateThickness
;
65
m_backPlateThickness
=right.
m_backPlateThickness
;
66
67
for
(
int
i=0;i<14;i++) {
68
m_RadialSeg
.push_back( right.
m_RadialSeg
[i] ?
new
HECRadialSegment
(*right.
m_RadialSeg
[i]) :
nullptr
);
69
}
70
71
}
72
return
*
this
;
73
}
HECLongBlock.h
HECLongBlock::m_frontPlateThickness
double m_frontPlateThickness
Definition
HECLongBlock.h:118
HECLongBlock::~HECLongBlock
~HECLongBlock()
Destructor.
Definition
HECLongBlock.cxx:51
HECLongBlock::m_numLArGaps
unsigned int m_numLArGaps
Definition
HECLongBlock.h:117
HECLongBlock::m_backPlateThickness
double m_backPlateThickness
Definition
HECLongBlock.h:119
HECLongBlock::m_outerRadius
double m_outerRadius
Definition
HECLongBlock.h:115
HECLongBlock::operator=
HECLongBlock & operator=(const HECLongBlock &right)
Assignment.
Definition
HECLongBlock.cxx:56
HECLongBlock::m_blockNumber
unsigned int m_blockNumber
Definition
HECLongBlock.h:113
HECLongBlock::m_depth
double m_depth
Definition
HECLongBlock.h:116
HECLongBlock::m_innerRadius
double m_innerRadius
Definition
HECLongBlock.h:114
HECLongBlock::HECLongBlock
HECLongBlock(const HECLongBlock &right)
Copy Constructor.
Definition
HECLongBlock.cxx:7
HECLongBlock::m_RadialSeg
std::vector< HECRadialSegment * > m_RadialSeg
Definition
HECLongBlock.h:112
HECRadialSegment
Description of a radial segment of a HEC module.
Definition
HECRadialSegment.h:20
Generated on
for ATLAS Offline Software by
1.17.0