ATLAS Offline Software
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 
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;
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 }
LArCellBinning.etaRange
etaRange
Filling Eta range.
Definition: LArCellBinning.py:128
HECLongBlock::m_RadialSeg
std::vector< HECRadialSegment * > m_RadialSeg
Definition: HECLongBlock.h:112
HECLongBlock.h
HECLongBlock::m_depth
double m_depth
Definition: HECLongBlock.h:116
lumiFormat.i
int i
Definition: lumiFormat.py:92
HECLongBlock::m_numLArGaps
unsigned int m_numLArGaps
Definition: HECLongBlock.h:117
HECLongBlock
Definition: HECLongBlock.h:32
HECLongBlock::~HECLongBlock
~HECLongBlock()
Destructor.
Definition: HECLongBlock.cxx:51
HECLongBlock::HECLongBlock
HECLongBlock(const HECLongBlock &right)
Copy Constructor.
Definition: HECLongBlock.cxx:7
HECLongBlock::m_outerRadius
double m_outerRadius
Definition: HECLongBlock.h:115
HECLongBlock::m_frontPlateThickness
double m_frontPlateThickness
Definition: HECLongBlock.h:118
HECLongBlock::m_innerRadius
double m_innerRadius
Definition: HECLongBlock.h:114
HECRadialSegment
Description of a radial segment of a HEC module.
Definition: HECRadialSegment.h:20
HECLongBlock::operator=
HECLongBlock & operator=(const HECLongBlock &right)
Assignment.
Definition: HECLongBlock.cxx:56
HECLongBlock::m_backPlateThickness
double m_backPlateThickness
Definition: HECLongBlock.h:119
HECLongBlock::m_blockNumber
unsigned int m_blockNumber
Definition: HECLongBlock.h:113