ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_FwdRingCooling.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
19inline double sqr(double x) {return x*x;}
20
21SCT_FwdRingCooling::SCT_FwdRingCooling(const std::string & name, int ringType,
22 InDetDD::SCT_DetectorManager* detectorManager,
23 SCT_GeometryManager* geometryManager,
24 SCT_MaterialManager* materials)
25 : SCT_SharedComponentFactory(name, detectorManager, geometryManager, materials),
26 m_ringType(ringType)
27{
30}
31
32
33void
35{
36 const SCT_ForwardParameters * parameters = m_geometryManager->forwardParameters();
37
38 m_materialName= parameters->fwdRingCoolingMaterial(m_ringType);
39 m_innerRadius = parameters->fwdRingCoolingInnerRadius(m_ringType);
40 m_outerRadius = parameters->fwdRingCoolingOuterRadius(m_ringType);
41 m_thickness = parameters->fwdRingCoolingThickness(m_ringType);
42 m_numModules = parameters->fwdRingNumModules(m_ringType);
43}
44
45GeoVPhysVol *
47{
48 const GeoTube * ringCoolingShape = new GeoTube(m_innerRadius, m_outerRadius, 0.5 * m_thickness);
49 m_material = m_materials->getMaterialForVolume(m_materialName, ringCoolingShape->volume());
50 const GeoLogVol * ringCoolingLog = new GeoLogVol(getName(), ringCoolingShape, m_material);
51
52 GeoPhysVol * ringCooling = new GeoPhysVol(ringCoolingLog);
53
54 return ringCooling;
55}
#define sqr(t)
#define x
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
virtual GeoVPhysVol * build()
SCT_FwdRingCooling(const std::string &name, int ringType, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials)
const GeoMaterial * m_material
SCT_SharedComponentFactory(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials=nullptr)