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

#include <SCT_FwdThermalShieldElement.h>

Inheritance diagram for SCT_FwdThermalShieldElement:
Collaboration diagram for SCT_FwdThermalShieldElement:

Public Member Functions

 SCT_FwdThermalShieldElement (const std::string &name, int iElement, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials)
const GeoMaterial * material () const
double innerRadius () const
double outerRadius () const
double zMax () const
double zMin () const
double length () const
double radialThickness () const
double zPosition () const
GeoVPhysVol * getVolume ()
const std::string & getName () const
std::string intToString (int i) const

Protected Member Functions

double epsilon () const

Protected Attributes

GeoVPhysVol * m_physVolume
InDetDD::SCT_DetectorManagerm_detectorManager
SCT_GeometryManagerm_geometryManager
SCT_MaterialManagerm_materials

Private Member Functions

void getParameters ()
virtual GeoVPhysVol * build ()

Private Attributes

std::string m_materialName
const GeoMaterial * m_material = nullptr
int m_iElement
double m_innerRadius = 0.0
double m_outerRadius = 0.0
double m_zMin = 0.0
double m_zMax = 0.0
double m_length = 0.0
std::string m_name

Static Private Attributes

static const double s_epsilon = 1.0e-6 * Gaudi::Units::mm

Detailed Description

Definition at line 14 of file SCT_FwdThermalShieldElement.h.

Constructor & Destructor Documentation

◆ SCT_FwdThermalShieldElement()

SCT_FwdThermalShieldElement::SCT_FwdThermalShieldElement ( const std::string & name,
int iElement,
InDetDD::SCT_DetectorManager * detectorManager,
SCT_GeometryManager * geometryManager,
SCT_MaterialManager * materials )

Definition at line 19 of file SCT_FwdThermalShieldElement.cxx.

23 : SCT_SharedComponentFactory(name, detectorManager, geometryManager, materials),
24 m_iElement(iElement)
25{
28}
SCT_SharedComponentFactory(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials=nullptr)

Member Function Documentation

◆ build()

GeoVPhysVol * SCT_FwdThermalShieldElement::build ( )
privatevirtual

Implements SCT_SharedComponentFactory.

Definition at line 47 of file SCT_FwdThermalShieldElement.cxx.

48{
49 // Make the support disk. A simple tube.
50 const GeoTube * elementShape = new GeoTube(m_innerRadius, m_outerRadius, 0.5 * m_length);
51 m_material = m_materials->getMaterialForVolume(m_materialName, elementShape->volume());
52 if (!m_material) m_material = m_materials->getMaterial(m_materialName);
53 const GeoLogVol * elementLog = new GeoLogVol(getName(), elementShape, m_material);
54
55 GeoPhysVol * element = new GeoPhysVol(elementLog);
56
57 return element;
58}
const std::string & getName() const
SCT_MaterialManager * m_materials

◆ epsilon()

double SCT_ComponentFactory::epsilon ( ) const
protectedinherited

Definition at line 38 of file SCT_ComponentFactory.cxx.

39{
40 return s_epsilon;
41}
static const double s_epsilon

◆ getName()

const std::string & SCT_ComponentFactory::getName ( ) const
inlineinherited

Definition at line 35 of file SCT_ComponentFactory.h.

35{return m_name;}

◆ getParameters()

void SCT_FwdThermalShieldElement::getParameters ( )
private

Definition at line 32 of file SCT_FwdThermalShieldElement.cxx.

33{
34 const SCT_ForwardParameters * parameters = m_geometryManager->forwardParameters();
35
36 m_materialName = parameters->fwdThermalShieldMaterial(m_iElement);
37 m_innerRadius = parameters->fwdThermalShieldInnerRadius(m_iElement);
38 m_outerRadius = parameters->fwdThermalShieldOuterRadius(m_iElement);
39 m_zMin = parameters->fwdThermalShieldZMin(m_iElement);
40 m_zMax = parameters->fwdThermalShieldZMax(m_iElement);
41
42 m_length = std::abs(m_zMax - m_zMin);
43
44}
SCT_GeometryManager * m_geometryManager

◆ getVolume()

GeoVPhysVol * SCT_SharedComponentFactory::getVolume ( )
inlineinherited

Definition at line 67 of file SCT_ComponentFactory.h.

67{return m_physVolume;}

◆ innerRadius()

double SCT_FwdThermalShieldElement::innerRadius ( ) const
inline

Definition at line 25 of file SCT_FwdThermalShieldElement.h.

25{return m_innerRadius;}

◆ intToString()

std::string SCT_ComponentFactory::intToString ( int i) const
inherited

Definition at line 30 of file SCT_ComponentFactory.cxx.

31{
32 std::ostringstream str;
33 str << i;
34 return str.str();
35}

◆ length()

double SCT_FwdThermalShieldElement::length ( ) const
inline

Definition at line 30 of file SCT_FwdThermalShieldElement.h.

30{return m_length;}

◆ material()

const GeoMaterial * SCT_FwdThermalShieldElement::material ( ) const
inline

Definition at line 24 of file SCT_FwdThermalShieldElement.h.

24{return m_material;}

◆ outerRadius()

double SCT_FwdThermalShieldElement::outerRadius ( ) const
inline

Definition at line 26 of file SCT_FwdThermalShieldElement.h.

26{return m_outerRadius;}

◆ radialThickness()

double SCT_FwdThermalShieldElement::radialThickness ( ) const
inline

Definition at line 31 of file SCT_FwdThermalShieldElement.h.

◆ zMax()

double SCT_FwdThermalShieldElement::zMax ( ) const
inline

Definition at line 27 of file SCT_FwdThermalShieldElement.h.

27{return m_zMax;}

◆ zMin()

double SCT_FwdThermalShieldElement::zMin ( ) const
inline

Definition at line 28 of file SCT_FwdThermalShieldElement.h.

28{return m_zMin;}

◆ zPosition()

double SCT_FwdThermalShieldElement::zPosition ( ) const
inline

Definition at line 32 of file SCT_FwdThermalShieldElement.h.

32{return 0.5*(m_zMin+m_zMax);}

Member Data Documentation

◆ m_detectorManager

InDetDD::SCT_DetectorManager* SCT_ComponentFactory::m_detectorManager
protectedinherited

Definition at line 41 of file SCT_ComponentFactory.h.

◆ m_geometryManager

SCT_GeometryManager* SCT_ComponentFactory::m_geometryManager
protectedinherited

Definition at line 42 of file SCT_ComponentFactory.h.

◆ m_iElement

int SCT_FwdThermalShieldElement::m_iElement
private

Definition at line 43 of file SCT_FwdThermalShieldElement.h.

◆ m_innerRadius

double SCT_FwdThermalShieldElement::m_innerRadius = 0.0
private

Definition at line 44 of file SCT_FwdThermalShieldElement.h.

◆ m_length

double SCT_FwdThermalShieldElement::m_length = 0.0
private

Definition at line 49 of file SCT_FwdThermalShieldElement.h.

◆ m_material

const GeoMaterial* SCT_FwdThermalShieldElement::m_material = nullptr
private

Definition at line 41 of file SCT_FwdThermalShieldElement.h.

◆ m_materialName

std::string SCT_FwdThermalShieldElement::m_materialName
private

Definition at line 40 of file SCT_FwdThermalShieldElement.h.

◆ m_materials

SCT_MaterialManager* SCT_ComponentFactory::m_materials
protectedinherited

Definition at line 43 of file SCT_ComponentFactory.h.

◆ m_name

std::string SCT_ComponentFactory::m_name
privateinherited

Definition at line 49 of file SCT_ComponentFactory.h.

◆ m_outerRadius

double SCT_FwdThermalShieldElement::m_outerRadius = 0.0
private

Definition at line 45 of file SCT_FwdThermalShieldElement.h.

◆ m_physVolume

GeoVPhysVol* SCT_SharedComponentFactory::m_physVolume
protectedinherited

Definition at line 70 of file SCT_ComponentFactory.h.

◆ m_zMax

double SCT_FwdThermalShieldElement::m_zMax = 0.0
private

Definition at line 47 of file SCT_FwdThermalShieldElement.h.

◆ m_zMin

double SCT_FwdThermalShieldElement::m_zMin = 0.0
private

Definition at line 46 of file SCT_FwdThermalShieldElement.h.

◆ s_epsilon

const double SCT_ComponentFactory::s_epsilon = 1.0e-6 * Gaudi::Units::mm
staticprivateinherited

Definition at line 50 of file SCT_ComponentFactory.h.


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