ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_FSIFibreMask.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "SCT_FSIFibreMask.h"
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 <format>
18
19SCT_FSIFibreMask::SCT_FSIFibreMask(const std::string & name, int iLayer, double length,
20 InDetDD::SCT_DetectorManager* detectorManager,
21 SCT_GeometryManager* geometryManager,
22 SCT_MaterialManager* materials)
23 : SCT_SharedComponentFactory(name, detectorManager, geometryManager, materials),
24 m_iLayer(iLayer), m_length(length)
25{
28}
29
30
31void
33{
34 const SCT_BarrelParameters * parameters = m_geometryManager->barrelParameters();
35
36 m_materialName = parameters->fsiFibreMaskMaterial();
37 m_outerRadius = parameters->supportCylInnerRadius(m_iLayer);
38 m_innerRadius = m_outerRadius - parameters->fsiFibreMaskDeltaR();
39
40}
41
42GeoVPhysVol *
44{
45 // Make the support cyliner. A simple tube.
46 const GeoTube * fibreMaskShape = new GeoTube(m_innerRadius, m_outerRadius, 0.5 * m_length);
47 m_material = m_materials->getMaterialForVolume(std::format("{}{}",m_materialName,m_iLayer), fibreMaskShape->volume());
48 const GeoLogVol * fibreMaskLog = new GeoLogVol(getName(), fibreMaskShape, m_material);
49
50 GeoPhysVol * fibreMask = new GeoPhysVol(fibreMaskLog);
51
52 return fibreMask;
53}
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
std::string m_materialName
virtual GeoVPhysVol * build()
SCT_FSIFibreMask(const std::string &name, int iLayer, double length, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials)
double length() const
const GeoMaterial * m_material
SCT_SharedComponentFactory(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials=nullptr)