ATLAS Offline Software
Loading...
Searching...
No Matches
HECLongBlock Class Reference

#include <HECLongBlock.h>

Collaboration diagram for HECLongBlock:

Public Member Functions

 HECLongBlock (const HECLongBlock &right)
 Copy Constructor.
 HECLongBlock (unsigned int blockNum, double innerRad, double outerRad, double totalDepth, unsigned int nLarGaps, double frontPlateThick, double backPlateThick, const double etaRange[15])
 Constructor.
 ~HECLongBlock ()
 Destructor.
HECLongBlockoperator= (const HECLongBlock &right)
 Assignment.
const HECRadialSegmentgetRadialSegment (unsigned int i) const
 Returns a radial segment if it exists.
unsigned int getNumRadialSegments () const
 returns the number of radial segments (14)
unsigned int getBlockNumber () const
 Block Number (1-7)
double getInnerRadius () const
 Inner Radius of LongBlock (CLHEP::mm)
double getOuterRadius () const
 Outer Radius of LongBlock (CLHEP::mm)
double getDepth () const
 Depth of block (CLHEP::mm)
unsigned int getNumLArGaps () const
 Number of LArGaps in Block.
double getFrontPlateThickness () const
 Front plate thickness (or zero if no front plate)
double getBackPlateThickness () const
 Back plate thickness (or zero if no back plate)

Private Attributes

std::vector< HECRadialSegment * > m_RadialSeg
unsigned int m_blockNumber
double m_innerRadius
double m_outerRadius
double m_depth
unsigned int m_numLArGaps
double m_frontPlateThickness
double m_backPlateThickness

Detailed Description

 @brief Description of HEC Longitudinal Block.

The HEC has longitudinal segments known as blocks. Each block is sliced radially. For a good picture of this, go here:

hepweb.phys.uvic.ca/atlas/hec-emec/geometry/ hec_eta_100dpi.jpg (Up to the directory for related drawings).

HECLongBlock obect describes both the longitudinal segmentation of the HEC into wheels and the radial division of each wheel into Radial Segments (see HECRadialSegment class); these radial segments are the building blocks of the (nonprojective) HEC Cells (see the HECCell class).

Definition at line 31 of file HECLongBlock.h.

Constructor & Destructor Documentation

◆ HECLongBlock() [1/2]

HECLongBlock::HECLongBlock ( const HECLongBlock & right)

Copy Constructor.

Definition at line 7 of file HECLongBlock.cxx.

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}
double m_frontPlateThickness
unsigned int m_numLArGaps
double m_backPlateThickness
double m_outerRadius
unsigned int m_blockNumber
double m_innerRadius
std::vector< HECRadialSegment * > m_RadialSeg

◆ HECLongBlock() [2/2]

HECLongBlock::HECLongBlock ( unsigned int blockNum,
double innerRad,
double outerRad,
double totalDepth,
unsigned int nLarGaps,
double frontPlateThick,
double backPlateThick,
const double etaRange[15] )

Constructor.

Definition at line 21 of file HECLongBlock.cxx.

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}

◆ ~HECLongBlock()

HECLongBlock::~HECLongBlock ( )

Destructor.

Definition at line 51 of file HECLongBlock.cxx.

52{
53 for (int i=0;i<14;i++) delete m_RadialSeg[i];
54}

Member Function Documentation

◆ getBackPlateThickness()

double HECLongBlock::getBackPlateThickness ( ) const
inline

Back plate thickness (or zero if no back plate)

Definition at line 184 of file HECLongBlock.h.

185{
186
188
189}

◆ getBlockNumber()

unsigned int HECLongBlock::getBlockNumber ( ) const
inline

Block Number (1-7)

Definition at line 142 of file HECLongBlock.h.

143{
144
145 return m_blockNumber;
146
147}

◆ getDepth()

double HECLongBlock::getDepth ( ) const
inline

Depth of block (CLHEP::mm)

Definition at line 163 of file HECLongBlock.h.

164{
165
166 return m_depth;
167
168}

◆ getFrontPlateThickness()

double HECLongBlock::getFrontPlateThickness ( ) const
inline

Front plate thickness (or zero if no front plate)

Definition at line 177 of file HECLongBlock.h.

178{
179
181
182}

◆ getInnerRadius()

double HECLongBlock::getInnerRadius ( ) const
inline

Inner Radius of LongBlock (CLHEP::mm)

Definition at line 149 of file HECLongBlock.h.

150{
151
152 return m_innerRadius;
153
154}

◆ getNumLArGaps()

unsigned int HECLongBlock::getNumLArGaps ( ) const
inline

Number of LArGaps in Block.

Definition at line 170 of file HECLongBlock.h.

171{
172
173 return m_numLArGaps;
174
175}

◆ getNumRadialSegments()

unsigned int HECLongBlock::getNumRadialSegments ( ) const
inline

returns the number of radial segments (14)

Definition at line 133 of file HECLongBlock.h.

134{
135
136 return m_RadialSeg.size();
137
138}

◆ getOuterRadius()

double HECLongBlock::getOuterRadius ( ) const
inline

Outer Radius of LongBlock (CLHEP::mm)

Definition at line 156 of file HECLongBlock.h.

157{
158
159 return m_outerRadius;
160
161}

◆ getRadialSegment()

const HECRadialSegment * HECLongBlock::getRadialSegment ( unsigned int i) const
inline

Returns a radial segment if it exists.

Definition at line 126 of file HECLongBlock.h.

127{
128
129 return m_RadialSeg[i];
130
131}

◆ operator=()

HECLongBlock & HECLongBlock::operator= ( const HECLongBlock & right)

Assignment.

Definition at line 56 of file HECLongBlock.cxx.

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}

Member Data Documentation

◆ m_backPlateThickness

double HECLongBlock::m_backPlateThickness
private

Definition at line 119 of file HECLongBlock.h.

◆ m_blockNumber

unsigned int HECLongBlock::m_blockNumber
private

Definition at line 113 of file HECLongBlock.h.

◆ m_depth

double HECLongBlock::m_depth
private

Definition at line 116 of file HECLongBlock.h.

◆ m_frontPlateThickness

double HECLongBlock::m_frontPlateThickness
private

Definition at line 118 of file HECLongBlock.h.

◆ m_innerRadius

double HECLongBlock::m_innerRadius
private

Definition at line 114 of file HECLongBlock.h.

◆ m_numLArGaps

unsigned int HECLongBlock::m_numLArGaps
private

Definition at line 117 of file HECLongBlock.h.

◆ m_outerRadius

double HECLongBlock::m_outerRadius
private

Definition at line 115 of file HECLongBlock.h.

◆ m_RadialSeg

std::vector<HECRadialSegment *> HECLongBlock::m_RadialSeg
private

Definition at line 112 of file HECLongBlock.h.


The documentation for this class was generated from the following files: