ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
SCT_GeoModel
src
SCT_Module.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_MODULE_H
6
#define SCT_GEOMODEL_SCT_MODULE_H
7
8
#include "
GeoPrimitives/GeoPrimitives.h
"
9
#include "
SCT_ComponentFactory.h
"
10
#include "GeoModelKernel/GeoDefinitions.h"
11
12
#include <memory>
13
#include <string>
14
15
class
GeoMaterial;
16
class
GeoVPhysVol;
17
class
GeoLogVol;
18
19
class
SCT_InnerSide
;
20
class
SCT_OuterSide
;
21
class
SCT_BaseBoard
;
22
23
class
SCT_Module
:
public
SCT_UniqueComponentFactory
24
25
{
26
public
:
27
28
SCT_Module
(
const
std::string & name,
29
InDetDD::SCT_DetectorManager
* detectorManager,
30
SCT_GeometryManager
* geometryManager,
31
SCT_MaterialManager
* materials,
32
GeoModelIO::ReadGeoModel* sqliteReader,
33
std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
34
std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX);
35
36
~SCT_Module
();
37
//Explicitly disallow copy, assign to appease coverity
38
SCT_Module
(
const
SCT_Module
&) =
delete
;
39
SCT_Module
&
operator=
(
const
SCT_Module
&) =
delete
;
40
41
virtual
GeoVPhysVol *
build
(
SCT_Identifier
id
);
42
43
public
:
44
double
thickness
()
const
{
return
m_thickness
;}
45
double
width
()
const
{
return
m_width
;}
46
double
length
()
const
{
return
m_length
;}
47
48
double
env1Thickness
()
const
{
return
m_env1Thickness
;}
49
double
env1Width
()
const
{
return
m_env1Width
;}
50
double
env1Length
()
const
{
return
m_env1Length
;}
51
double
env2Thickness
()
const
{
return
m_env2Thickness
;}
52
double
env2Width
()
const
{
return
m_env2Width
;}
53
double
env2Length
()
const
{
return
m_env2Length
;}
54
55
const
GeoTrf::Vector3D *
env1RefPointVector
()
const
{
return
m_env1RefPointVector
.get();}
56
const
GeoTrf::Vector3D *
env2RefPointVector
()
const
{
return
m_env2RefPointVector
.get();}
57
58
double
sensorGap
()
const
{
return
m_sensorGap
;}
59
double
stereoInner
()
const
{
return
m_stereoInner
;}
60
double
stereoOuter
()
const
{
return
m_stereoOuter
;}
61
double
stereoAngle
()
const
{
return
m_stereoAngle
;}
62
63
double
activeWidth
()
const
{
return
m_activeWidth
;}
64
65
double
baseBoardOffsetY
()
const
{
return
m_baseBoardOffsetY
;}
66
double
baseBoardOffsetZ
()
const
{
return
m_baseBoardOffsetZ
;}
67
68
const
SCT_InnerSide
*
innerSide
()
const
{
return
m_innerSide
.get();}
69
const
SCT_OuterSide
*
outerSide
()
const
{
return
m_outerSide
.get();}
70
const
SCT_BaseBoard
*
baseBoard
()
const
{
return
m_baseBoard
.get();}
71
72
73
private
:
74
void
getParameters
();
75
virtual
const
GeoLogVol *
preBuild
();
76
77
double
m_thickness
= 0.0;
78
double
m_width
= 0.0;
79
double
m_length
= 0.0;
80
81
double
m_env1Thickness
= 0.0;
82
double
m_env1Width
= 0.0;
83
double
m_env1Length
= 0.0;
84
double
m_env2Thickness
= 0.0;
85
double
m_env2Width
= 0.0;
86
double
m_env2Length
= 0.0;
87
88
double
m_activeWidth
= 0.0;
89
90
double
m_baseBoardOffsetY
= 0.0;
91
double
m_baseBoardOffsetZ
= 0.0;
92
93
double
m_sensorGap
= 0.0;
94
double
m_stereoInner
= 0.0;
95
double
m_stereoOuter
= 0.0;
96
double
m_stereoAngle
= 0.0;
97
int
m_upperSide
= 0;
98
double
m_safety
= 0.0;
99
100
std::unique_ptr<SCT_InnerSide>
m_innerSide
;
101
std::unique_ptr<SCT_OuterSide>
m_outerSide
;
102
std::unique_ptr<SCT_BaseBoard>
m_baseBoard
;
103
104
std::unique_ptr<GeoTrf::Transform3D>
m_innerSidePos
;
105
std::unique_ptr<GeoTrf::Transform3D>
m_outerSidePos
;
106
std::unique_ptr<GeoTrf::Translate3D>
m_baseBoardPos
;
107
108
std::unique_ptr<GeoTrf::Vector3D>
m_env1RefPointVector
;
109
std::unique_ptr<GeoTrf::Vector3D>
m_env2RefPointVector
;
110
111
};
112
113
#endif
// SCT_GEOMODEL_SCT_MODULE_H
GeoPrimitives.h
SCT_ComponentFactory.h
InDetDD::SCT_DetectorManager
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
Definition
SCT_DetectorManager.h:50
SCT_BaseBoard
Definition
SCT_BaseBoard.h:16
SCT_GeometryManager
Definition
SCT_GeometryManager.h:25
SCT_Identifier
Definition
SCT_Identifier.h:12
SCT_InnerSide
Definition
SCT_InnerSide.h:32
SCT_MaterialManager
Definition
SCT_MaterialManager.h:21
SCT_Module::width
double width() const
Definition
SCT_Module.h:45
SCT_Module::env1RefPointVector
const GeoTrf::Vector3D * env1RefPointVector() const
Definition
SCT_Module.h:55
SCT_Module::outerSide
const SCT_OuterSide * outerSide() const
Definition
SCT_Module.h:69
SCT_Module::sensorGap
double sensorGap() const
Definition
SCT_Module.h:58
SCT_Module::m_baseBoard
std::unique_ptr< SCT_BaseBoard > m_baseBoard
Definition
SCT_Module.h:102
SCT_Module::env2Thickness
double env2Thickness() const
Definition
SCT_Module.h:51
SCT_Module::m_stereoOuter
double m_stereoOuter
Definition
SCT_Module.h:95
SCT_Module::env1Thickness
double env1Thickness() const
Definition
SCT_Module.h:48
SCT_Module::getParameters
void getParameters()
Definition
SCT_Module.cxx:63
SCT_Module::m_env1RefPointVector
std::unique_ptr< GeoTrf::Vector3D > m_env1RefPointVector
Definition
SCT_Module.h:108
SCT_Module::stereoOuter
double stereoOuter() const
Definition
SCT_Module.h:60
SCT_Module::m_stereoInner
double m_stereoInner
Definition
SCT_Module.h:94
SCT_Module::m_env1Width
double m_env1Width
Definition
SCT_Module.h:82
SCT_Module::m_sensorGap
double m_sensorGap
Definition
SCT_Module.h:93
SCT_Module::m_env1Thickness
double m_env1Thickness
Definition
SCT_Module.h:81
SCT_Module::m_length
double m_length
Definition
SCT_Module.h:79
SCT_Module::m_baseBoardOffsetZ
double m_baseBoardOffsetZ
Definition
SCT_Module.h:91
SCT_Module::thickness
double thickness() const
Definition
SCT_Module.h:44
SCT_Module::innerSide
const SCT_InnerSide * innerSide() const
Definition
SCT_Module.h:68
SCT_Module::stereoInner
double stereoInner() const
Definition
SCT_Module.h:59
SCT_Module::activeWidth
double activeWidth() const
Definition
SCT_Module.h:63
SCT_Module::m_env2Width
double m_env2Width
Definition
SCT_Module.h:85
SCT_Module::baseBoardOffsetZ
double baseBoardOffsetZ() const
Definition
SCT_Module.h:66
SCT_Module::m_env2Thickness
double m_env2Thickness
Definition
SCT_Module.h:84
SCT_Module::m_innerSidePos
std::unique_ptr< GeoTrf::Transform3D > m_innerSidePos
Definition
SCT_Module.h:104
SCT_Module::m_env2Length
double m_env2Length
Definition
SCT_Module.h:86
SCT_Module::env2Length
double env2Length() const
Definition
SCT_Module.h:53
SCT_Module::m_baseBoardPos
std::unique_ptr< GeoTrf::Translate3D > m_baseBoardPos
Definition
SCT_Module.h:106
SCT_Module::m_env1Length
double m_env1Length
Definition
SCT_Module.h:83
SCT_Module::env2Width
double env2Width() const
Definition
SCT_Module.h:52
SCT_Module::m_safety
double m_safety
Definition
SCT_Module.h:98
SCT_Module::build
virtual GeoVPhysVol * build(SCT_Identifier id)
Definition
SCT_Module.cxx:317
SCT_Module::m_innerSide
std::unique_ptr< SCT_InnerSide > m_innerSide
Definition
SCT_Module.h:100
SCT_Module::baseBoardOffsetY
double baseBoardOffsetY() const
Definition
SCT_Module.h:65
SCT_Module::m_outerSide
std::unique_ptr< SCT_OuterSide > m_outerSide
Definition
SCT_Module.h:101
SCT_Module::operator=
SCT_Module & operator=(const SCT_Module &)=delete
SCT_Module::baseBoard
const SCT_BaseBoard * baseBoard() const
Definition
SCT_Module.h:70
SCT_Module::env2RefPointVector
const GeoTrf::Vector3D * env2RefPointVector() const
Definition
SCT_Module.h:56
SCT_Module::m_width
double m_width
Definition
SCT_Module.h:78
SCT_Module::m_baseBoardOffsetY
double m_baseBoardOffsetY
Definition
SCT_Module.h:90
SCT_Module::m_upperSide
int m_upperSide
Definition
SCT_Module.h:97
SCT_Module::m_env2RefPointVector
std::unique_ptr< GeoTrf::Vector3D > m_env2RefPointVector
Definition
SCT_Module.h:109
SCT_Module::preBuild
virtual const GeoLogVol * preBuild()
Definition
SCT_Module.cxx:83
SCT_Module::~SCT_Module
~SCT_Module()
Definition
SCT_Module.cxx:57
SCT_Module::SCT_Module
SCT_Module(const SCT_Module &)=delete
SCT_Module::m_activeWidth
double m_activeWidth
Definition
SCT_Module.h:88
SCT_Module::length
double length() const
Definition
SCT_Module.h:46
SCT_Module::m_outerSidePos
std::unique_ptr< GeoTrf::Transform3D > m_outerSidePos
Definition
SCT_Module.h:105
SCT_Module::m_thickness
double m_thickness
Definition
SCT_Module.h:77
SCT_Module::env1Width
double env1Width() const
Definition
SCT_Module.h:49
SCT_Module::stereoAngle
double stereoAngle() const
Definition
SCT_Module.h:61
SCT_Module::SCT_Module
SCT_Module(const std::string &name, 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)
Definition
SCT_Module.cxx:43
SCT_Module::m_stereoAngle
double m_stereoAngle
Definition
SCT_Module.h:96
SCT_Module::env1Length
double env1Length() const
Definition
SCT_Module.h:50
SCT_OuterSide
Definition
SCT_OuterSide.h:28
SCT_UniqueComponentFactory::SCT_UniqueComponentFactory
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)
Definition
SCT_ComponentFactory.cxx:34
Generated on
for ATLAS Offline Software by
1.17.0