ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_FwdThermalShieldElement.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6
8
11
12#include "GeoModelKernel/GeoTube.h"
13#include "GeoModelKernel/GeoLogVol.h"
14#include "GeoModelKernel/GeoPhysVol.h"
15#include "GeoModelKernel/Units.h"
16
17#include <cmath>
18
19SCT_FwdThermalShieldElement::SCT_FwdThermalShieldElement(const std::string & name, int iElement,
20 InDetDD::SCT_DetectorManager* detectorManager,
21 SCT_GeometryManager* geometryManager,
22 SCT_MaterialManager* materials)
23 : SCT_SharedComponentFactory(name, detectorManager, geometryManager, materials),
24 m_iElement(iElement)
25{
28}
29
30
31void
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}
45
46GeoVPhysVol *
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}
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
const std::string & getName() const
SCT_GeometryManager * m_geometryManager
SCT_MaterialManager * m_materials
SCT_FwdThermalShieldElement(const std::string &name, int iElement, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials)
SCT_SharedComponentFactory(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials=nullptr)