ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_Forward.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef SCT_GEOMODEL_SCT_FORWARD_H
6#define SCT_GEOMODEL_SCT_FORWARD_H
7
9
10#include <memory>
11#include <vector>
12
13class SCT_FwdModule;
14class SCT_FwdWheel;
15
16
18{
19
20public:
21
22 SCT_Forward(const std::string & name, int ec,
23 InDetDD::SCT_DetectorManager* detectorManager,
24 SCT_GeometryManager* geometryManager,
25 SCT_MaterialManager* materials,
26 GeoModelIO::ReadGeoModel* sqliteReader,
27 std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
28 std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX);
30
31 //
32 // Methods to return basic and derived parameters.
33 //
34 // Retrieve basic parameters
35 //
36
37 int numModuleTypes() const {return m_numModuleTypes;}
38 int numWheels() const {return m_numWheels;}
39 double innerRadius() const {return m_innerRadius;}
40 double outerRadius() const {return m_outerRadius;}
41 double zMax() const {return m_zMax;}
42 double zMin() const {return m_zMin;}
43 double trtGapPos() const {return m_trtGapPos;}
44
45 //
46 // Retrieve derived parameters
47 //
48 double length() const {return m_length;}
49 double zCenter() const {return 0.5*(m_zMin+m_zMax);}
50
51 virtual GeoVPhysVol * build(SCT_Identifier id);
52
53
54
55private:
56 void getParameters();
57 virtual const GeoLogVol * preBuild();
58
59 // Basic parameters
62 int m_numWheels = 0;
63 double m_innerRadius = 0.0;
64 double m_outerRadius = 0.0;
65 double m_zMin = 0.0;
66 double m_zMax = 0.0;
67 double m_trtGapPos = 0.0;
68 double m_coolingPipeRadius = 0.0;
71
72 // Derived parameters
73 double m_length = 0.0;
75
76 // Child detector elements
77 std::vector<std::unique_ptr<SCT_FwdWheel>> m_wheels;
78
79 std::vector<std::unique_ptr<SCT_FwdModule>> m_modules;
80
81};
82
83#endif // SCT_GEOMODEL_SCT_FWDRING_H
84
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
double m_zMax
Definition SCT_Forward.h:66
double zMin() const
Definition SCT_Forward.h:42
std::vector< std::unique_ptr< SCT_FwdWheel > > m_wheels
Definition SCT_Forward.h:77
double m_trtGapPos
Definition SCT_Forward.h:67
void getParameters()
double outerRadius() const
Definition SCT_Forward.h:40
double innerRadius() const
Definition SCT_Forward.h:39
double length() const
Definition SCT_Forward.h:48
double m_outerRadius
Definition SCT_Forward.h:64
int numWheels() const
Definition SCT_Forward.h:38
bool m_cylinderServicesPresent
Definition SCT_Forward.h:70
virtual GeoVPhysVol * build(SCT_Identifier id)
virtual const GeoLogVol * preBuild()
double zCenter() const
Definition SCT_Forward.h:49
double m_length
Definition SCT_Forward.h:73
int numModuleTypes() const
Definition SCT_Forward.h:37
int m_numThermalShieldElements
Definition SCT_Forward.h:69
SCT_Forward(const std::string &name, int ec, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > mapAX)
double zMax() const
Definition SCT_Forward.h:41
std::vector< std::unique_ptr< SCT_FwdModule > > m_modules
Definition SCT_Forward.h:79
double trtGapPos() const
Definition SCT_Forward.h:43
double m_outerRadiusCylinderServices
Definition SCT_Forward.h:74
int m_numModuleTypes
Definition SCT_Forward.h:61
double m_zMin
Definition SCT_Forward.h:65
double m_coolingPipeRadius
Definition SCT_Forward.h:68
double m_innerRadius
Definition SCT_Forward.h:63
SCT_UniqueComponentFactory(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials=nullptr, GeoModelIO::ReadGeoModel *sqliteReader=nullptr, std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > mapFPV=nullptr, std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > mapAX=nullptr)