ATLAS Offline Software
Loading...
Searching...
No Matches
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
6
11 m_depth(right.m_depth),
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
21HECLongBlock::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
52{
53 for (int i=0;i<14;i++) delete m_RadialSeg[i];
54}
55
57{
58 if (this != & right) {
62 m_depth=right.m_depth;
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}
double m_frontPlateThickness
~HECLongBlock()
Destructor.
unsigned int m_numLArGaps
double m_backPlateThickness
double m_outerRadius
HECLongBlock & operator=(const HECLongBlock &right)
Assignment.
unsigned int m_blockNumber
double m_innerRadius
HECLongBlock(const HECLongBlock &right)
Copy Constructor.
std::vector< HECRadialSegment * > m_RadialSeg
Description of a radial segment of a HEC module.