ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_Clamp.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_Clamp.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_Clamp::SCT_Clamp(const std::string & name, int iLayer,
19 double innerRadius,
20 InDetDD::SCT_DetectorManager* detectorManager,
21 SCT_GeometryManager* geometryManager,
22 SCT_MaterialManager* materials)
23 : SCT_SharedComponentFactory(name, detectorManager, geometryManager, materials),
25{
28}
29
30
31void
33{
34 const SCT_BarrelParameters * parameters = m_geometryManager->barrelParameters();
35
36 m_materialName = parameters->clampMaterial(m_iLayer);
37 m_length = parameters->clampDeltaZ(m_iLayer);
38 m_radialWidth = parameters->clampDeltaR(m_iLayer);
39
41}
42
43GeoVPhysVol *
45{
46 // Make the clamp. A simple tube.
47
48 const GeoTube * clampShape = new GeoTube(m_innerRadius, m_outerRadius, 0.5 * m_length);
49 m_material = m_materials->getMaterialForVolume(m_materialName, clampShape->volume());
50 if(!m_material) {m_material = m_materials->getMaterial(m_materialName);}
51 const GeoLogVol * clampLog = new GeoLogVol(getName(), clampShape, m_material);
52
53 GeoPhysVol * clamp = new GeoPhysVol(clampLog);
54
55 return clamp;
56}
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
virtual GeoVPhysVol * build()
Definition SCT_Clamp.cxx:44
int m_iLayer
Definition SCT_Clamp.h:35
SCT_Clamp(const std::string &name, int iLayer, double innerRadius, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials)
Definition SCT_Clamp.cxx:18
std::string m_materialName
Definition SCT_Clamp.h:38
double m_outerRadius
Definition SCT_Clamp.h:40
double m_radialWidth
Definition SCT_Clamp.h:42
void getParameters()
Definition SCT_Clamp.cxx:32
const GeoMaterial * m_material
Definition SCT_Clamp.h:37
double m_length
Definition SCT_Clamp.h:41
double innerRadius() const
Definition SCT_Clamp.h:26
double m_innerRadius
Definition SCT_Clamp.h:39
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)