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

#include <ServicesLayer.h>

Collaboration diagram for ServicesLayer:

Public Member Functions

 ServicesLayer (double radius, double halfLength, int nStaves, DetType::Type type, DetType::Part part, int num, const std::string &suffix, int nModulesPerStave, int nChipsPerModule)
 constructor for barrel layers
 ServicesLayer (double zpos, double rmin, double rmax, int nStaves, DetType::Type type, DetType::Part part, int num, const std::string &suffix, int nModulesPerStave, int nChipsPerModule)
 constructor for endcap layers
double radius () const
double zPos () const
double rMin () const
double rMax () const
double halfLength () const
int nStaves () const
DetType::Type type () const
DetType::Part part () const
int number () const
int modulesPerStave () const
int chipsPerModule () const
ServiceVolumelastVolume () const
void setLastVolume (ServiceVolume *vp)
std::string name () const
const std::string & layerSuffix () const

Private Attributes

double m_radius
double m_zPos
double m_rMin
double m_rMax
double m_halfLength
int m_nStaves
DetType::Type m_type
DetType::Part m_part
int m_number
ServiceVolumem_lastVolume
std::string m_suffix
int m_nModulesPerStave
int m_nChipsPerModule

Detailed Description

Definition at line 13 of file ServicesLayer.h.

Constructor & Destructor Documentation

◆ ServicesLayer() [1/2]

ServicesLayer::ServicesLayer ( double radius,
double halfLength,
int nStaves,
DetType::Type type,
DetType::Part part,
int num,
const std::string & suffix,
int nModulesPerStave,
int nChipsPerModule )

constructor for barrel layers

Definition at line 10 of file ServicesLayer.cxx.

13 :
16 m_lastVolume(nullptr), m_suffix(suffix),
17 m_nModulesPerStave(nModulesPerStave), m_nChipsPerModule(nChipsPerModule)
18{
19 if (part == DetType::Barrel) {
20 m_zPos = 0;
21 m_rMin = radius;
22 m_rMax = radius;
23 }
24 else {
25 std::cout << "Wrong ServicesLayer constructor for barrel layer called " << std::endl;
26 }
27}
DetType::Type m_type
double radius() const
ServiceVolume * m_lastVolume
double m_halfLength
DetType::Part part() const
DetType::Part m_part
int nStaves() const
DetType::Type type() const
std::string m_suffix
double halfLength() const
@ Barrel
Definition DetType.h:14

◆ ServicesLayer() [2/2]

ServicesLayer::ServicesLayer ( double zpos,
double rmin,
double rmax,
int nStaves,
DetType::Type type,
DetType::Part part,
int num,
const std::string & suffix,
int nModulesPerStave,
int nChipsPerModule )

constructor for endcap layers

Definition at line 29 of file ServicesLayer.cxx.

32 :
33 m_radius(0.), m_zPos(zpos), m_rMin(rmin), m_rMax(rmax), m_halfLength(0.), m_nStaves(nStaves),
35 m_lastVolume(nullptr), m_suffix(suffix),
36 m_nModulesPerStave(nModulesPerStave), m_nChipsPerModule(nChipsPerModule)
37{
38 if (part == DetType::Endcap) {
39 m_radius = 0.5*(rmin+rmax);
40 m_halfLength = rmax - rmin;
41 }
42 else {
43 std::cout << "Wrong ServicesLayer constructor for endcap layer called " << std::endl;
44 }
45}
@ Endcap
Definition DetType.h:14

Member Function Documentation

◆ chipsPerModule()

int ServicesLayer::chipsPerModule ( ) const
inline

Definition at line 46 of file ServicesLayer.h.

46{return m_nChipsPerModule;}

◆ halfLength()

double ServicesLayer::halfLength ( ) const
inline

Definition at line 38 of file ServicesLayer.h.

38{return m_halfLength;}

◆ lastVolume()

ServiceVolume * ServicesLayer::lastVolume ( ) const
inline

Definition at line 48 of file ServicesLayer.h.

48{return m_lastVolume;}

◆ layerSuffix()

const std::string & ServicesLayer::layerSuffix ( ) const
inline

Definition at line 53 of file ServicesLayer.h.

53{return m_suffix;}

◆ modulesPerStave()

int ServicesLayer::modulesPerStave ( ) const
inline

Definition at line 45 of file ServicesLayer.h.

45{return m_nModulesPerStave;}

◆ name()

std::string ServicesLayer::name ( ) const

Definition at line 47 of file ServicesLayer.cxx.

48{
49 std::ostringstream os;
50 os << number();
51 return DetType::name( type(), part()) + os.str();
52}
int number() const
std::string name(Type t)
Definition DetType.h:16

◆ nStaves()

int ServicesLayer::nStaves ( ) const
inline

Definition at line 39 of file ServicesLayer.h.

39{ return m_nStaves;}

◆ number()

int ServicesLayer::number ( ) const
inline

Definition at line 43 of file ServicesLayer.h.

43{return m_number;}

◆ part()

DetType::Part ServicesLayer::part ( ) const
inline

Definition at line 41 of file ServicesLayer.h.

41{return m_part;}

◆ radius()

double ServicesLayer::radius ( ) const
inline

Definition at line 32 of file ServicesLayer.h.

32{return m_radius;}

◆ rMax()

double ServicesLayer::rMax ( ) const
inline

Definition at line 36 of file ServicesLayer.h.

36{return m_rMax;}

◆ rMin()

double ServicesLayer::rMin ( ) const
inline

Definition at line 35 of file ServicesLayer.h.

35{return m_rMin;}

◆ setLastVolume()

void ServicesLayer::setLastVolume ( ServiceVolume * vp)
inline

Definition at line 49 of file ServicesLayer.h.

49{m_lastVolume = vp;}

◆ type()

DetType::Type ServicesLayer::type ( ) const
inline

Definition at line 40 of file ServicesLayer.h.

40{return m_type;}

◆ zPos()

double ServicesLayer::zPos ( ) const
inline

Definition at line 33 of file ServicesLayer.h.

33{return m_zPos;}

Member Data Documentation

◆ m_halfLength

double ServicesLayer::m_halfLength
private

Definition at line 61 of file ServicesLayer.h.

◆ m_lastVolume

ServiceVolume* ServicesLayer::m_lastVolume
private

Definition at line 66 of file ServicesLayer.h.

◆ m_nChipsPerModule

int ServicesLayer::m_nChipsPerModule
private

Definition at line 69 of file ServicesLayer.h.

◆ m_nModulesPerStave

int ServicesLayer::m_nModulesPerStave
private

Definition at line 68 of file ServicesLayer.h.

◆ m_nStaves

int ServicesLayer::m_nStaves
private

Definition at line 62 of file ServicesLayer.h.

◆ m_number

int ServicesLayer::m_number
private

Definition at line 65 of file ServicesLayer.h.

◆ m_part

DetType::Part ServicesLayer::m_part
private

Definition at line 64 of file ServicesLayer.h.

◆ m_radius

double ServicesLayer::m_radius
private

Definition at line 57 of file ServicesLayer.h.

◆ m_rMax

double ServicesLayer::m_rMax
private

Definition at line 60 of file ServicesLayer.h.

◆ m_rMin

double ServicesLayer::m_rMin
private

Definition at line 59 of file ServicesLayer.h.

◆ m_suffix

std::string ServicesLayer::m_suffix
private

Definition at line 67 of file ServicesLayer.h.

◆ m_type

DetType::Type ServicesLayer::m_type
private

Definition at line 63 of file ServicesLayer.h.

◆ m_zPos

double ServicesLayer::m_zPos
private

Definition at line 58 of file ServicesLayer.h.


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