ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_Spider.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "SCT_Spider.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
18SCT_Spider::SCT_Spider(const std::string & name,
19 InDetDD::SCT_DetectorManager* detectorManager,
20 SCT_GeometryManager* geometryManager,
21 SCT_MaterialManager* materials)
22 : SCT_SharedComponentFactory(name, detectorManager, geometryManager, materials)
23{
26}
27
28
29void
31{
32 const SCT_BarrelParameters * parameters = m_geometryManager->barrelParameters();
33
34 m_materialName = parameters->spiderMaterial();
35 m_length = parameters->spiderDeltaZ();
36 m_innerRadius = parameters->spiderInnerRadius();
37 m_outerRadius = parameters->spiderOuterRadius();
38}
39
40GeoVPhysVol *
42{
43 // Make the spider. A simple tube.
44 const GeoTube * spiderShape = new GeoTube(m_innerRadius, m_outerRadius, 0.5 * m_length);
45 m_material = m_materials->getMaterialForVolume(m_materialName, spiderShape->volume());
46 if (!m_material) m_material = m_materials->getMaterial(m_materialName);
47 const GeoLogVol * spiderLog = new GeoLogVol(getName(), spiderShape, m_material);
48
49 GeoPhysVol * spider = new GeoPhysVol(spiderLog);
50
51 return spider;
52}
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
SCT_SharedComponentFactory(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials=nullptr)
double m_innerRadius
Definition SCT_Spider.h:36
SCT_Spider(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials)
double m_length
Definition SCT_Spider.h:38
void getParameters()
const GeoMaterial * m_material
Definition SCT_Spider.h:34
std::string m_materialName
Definition SCT_Spider.h:35
virtual GeoVPhysVol * build()
double m_outerRadius
Definition SCT_Spider.h:37