Tool for building detectors out of a GDML description.
More...
#include <GDMLDetectorTool.h>
|
| ToolHandleArray< IDetectorGeometryTool > | m_subDetTools {this, "SubDetectors", {}, "Tool handle array of all subdetector tools"} |
| ServiceHandle< IG4GeometryNotifierSvc > | m_notifierSvc {this, "GeometryNotifierSvc", "G4GeometryNotifierSvc", "Detector name (same as the Tool name if not set"} |
| IDetectorGeometryTool * | m_theParent {} |
| Envelope | m_envelope |
| Gaudi::Property< std::string > | m_detectorName {this, "DetectorName", "", "Detector name (same as the Tool name if not set"} |
| bool | m_isWorld {false} |
| Gaudi::Property< double > | m_rotateX {this, "RotateX" , 0.0, "Rotation around the X-axis"} |
| Gaudi::Property< double > | m_rotateY {this, "RotateY" , 0.0, "Rotation around the Y-axis"} |
| Gaudi::Property< double > | m_rotateZ {this, "RotateZ" , 0.0, "Rotation around the Z-axis"} |
| Gaudi::Property< double > | m_offsetX {this, "OffsetX" , 0.0, "Offset in the X-direction"} |
| Gaudi::Property< double > | m_offsetY {this, "OffsetY" , 0.0, "Offset in the Y-direction"} |
| Gaudi::Property< double > | m_offsetZ {this, "OffsetZ" , 0.0, "Offset in the Z-direction"} |
Tool for building detectors out of a GDML description.
- Author
- Andrea Dell'Acqua
- Date
- 2017-02-21
Definition at line 27 of file GDMLDetectorTool.h.
◆ GDMLDetectorTool()
| GDMLDetectorTool::GDMLDetectorTool |
( |
const std::string & | type, |
|
|
const std::string & | name, |
|
|
const IInterface * | parent ) |
Definition at line 16 of file GDMLDetectorTool.cxx.
18{
21}
DetectorGeometryBase(const std::string &type, const std::string &name, const IInterface *parent)
◆ ~GDMLDetectorTool()
| GDMLDetectorTool::~GDMLDetectorTool |
( |
| ) |
|
|
inline |
◆ Build()
| void DetectorGeometryBase::Build |
( |
| ) |
|
|
overridevirtualinherited |
purely virtual methods being implemented here
Definition at line 53 of file DetectorGeometryBase.cxx.
54{
55 ATH_MSG_VERBOSE(
name() <<
"::Build() (Base class method): Starting. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
56
58 ATH_MSG_VERBOSE(
name() <<
"::Build() - Envelope set. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
59
62 ATH_MSG_VERBOSE(
name() <<
"::Build() - Geometry built. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
63
65 ATH_MSG_VERBOSE(
name() <<
"::Build() - Volume moved around. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
66
68 ATH_MSG_VERBOSE(
name() <<
"::Build() - Connected with parent. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
69
71 ATH_MSG_VERBOSE(
name() <<
"::Build() (Base class method): Finished. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
72 return;
73}
#define ATH_MSG_VERBOSE(x)
virtual void BuildGeometry() override
virtual void SetEnvelope() override
virtual void SetRotationAndOffset()
Gaudi::Property< std::string > m_detectorName
ServiceHandle< IG4GeometryNotifierSvc > m_notifierSvc
virtual void PositionInParent() override
virtual void BuildSubDetectors() override
◆ BuildGeometry()
| void GDMLDetectorTool::BuildGeometry |
( |
| ) |
|
|
finaloverridevirtual |
◆ BuildSubDetectors()
| void DetectorGeometryBase::BuildSubDetectors |
( |
| ) |
|
|
overridevirtualinherited |
Definition at line 155 of file DetectorGeometryBase.cxx.
156{
159 {
161 subDetTool->SetParent(this);
162 subDetTool->Build();
163 }
165}
ToolHandleArray< IDetectorGeometryTool > m_subDetTools
◆ GetDetectorName()
| std::string DetectorGeometryBase::GetDetectorName |
( |
| ) |
const |
|
overrideinherited |
◆ GetEnvelope()
| Envelope & DetectorGeometryBase::GetEnvelope |
( |
| ) |
|
|
finaloverrideinherited |
◆ GetWorldVolume()
| G4VPhysicalVolume * DetectorGeometryBase::GetWorldVolume |
( |
| ) |
|
|
finaloverrideinherited |
◆ initialize()
| StatusCode GDMLDetectorTool::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Athena method.
called at initialization time, being customized here
Definition at line 23 of file GDMLDetectorTool.cxx.
24{
26
28 {
30
34 {
38 }
39 }
42 {
44 }
46 {
48 }
50
52 return StatusCode::SUCCESS;
53}
◆ IsTopTransform()
| bool GDMLDetectorTool::IsTopTransform |
( |
| ) |
|
|
private |
◆ PositionInParent()
| void DetectorGeometryBase::PositionInParent |
( |
| ) |
|
|
overridevirtualinherited |
Reimplemented in GeoDetectorTool.
Definition at line 120 of file DetectorGeometryBase.cxx.
121{
124 {
125
127 {
128 G4VPhysicalVolume* physWorld= new G4PVPlacement(0,G4ThreeVector(),
131 }
132 }
133 else
134 {
135
137 {
139 }
140 else
141 {
143 {
144
145
146
150 }
151 }
152 }
153}
IDetectorGeometryTool * m_theParent
◆ ResetEnvelope()
| void DetectorGeometryBase::ResetEnvelope |
( |
| ) |
|
|
overridevirtualinherited |
◆ SetAsWorld()
| void DetectorGeometryBase::SetAsWorld |
( |
| ) |
|
|
overridevirtualinherited |
◆ SetDetectorName()
| void DetectorGeometryBase::SetDetectorName |
( |
const std::string & | s | ) |
|
|
overrideinherited |
◆ SetEnvelope()
| void DetectorGeometryBase::SetEnvelope |
( |
| ) |
|
|
overridevirtualinherited |
◆ SetInitialTransformation()
| void GDMLDetectorTool::SetInitialTransformation |
( |
| ) |
|
|
private |
◆ SetParent()
◆ SetRotationAndOffset()
| void DetectorGeometryBase::SetRotationAndOffset |
( |
| ) |
|
|
virtualinherited |
Definition at line 80 of file DetectorGeometryBase.cxx.
81{
83
85 {
86
87
88
90
95 {
96
98 }
99 }
100 else
101 {
102
103
107 }
108
109
112 {
113
115 }
116
118 return;
119}
Gaudi::Property< double > m_rotateY
Gaudi::Property< double > m_rotateX
Gaudi::Property< double > m_offsetX
Gaudi::Property< double > m_offsetY
Gaudi::Property< double > m_rotateZ
Gaudi::Property< double > m_offsetZ
◆ m_blGetTopTransform
| bool GDMLDetectorTool::m_blGetTopTransform {true} |
|
private |
◆ m_builderName
| std::string GDMLDetectorTool::m_builderName {""} |
|
private |
◆ m_detectorName
| Gaudi::Property<std::string> DetectorGeometryBase::m_detectorName {this, "DetectorName", "", "Detector name (same as the Tool name if not set"} |
|
protectedinherited |
Definition at line 71 of file DetectorGeometryBase.h.
71{this, "DetectorName", "", "Detector name (same as the Tool name if not set"};
◆ m_envelope
| Envelope DetectorGeometryBase::m_envelope |
|
protectedinherited |
◆ m_GDMLFileName
| Gaudi::Property<std::string> GDMLDetectorTool::m_GDMLFileName {this, "GDMLFileName", "", "Name of the GDML file to be used as input."} |
|
private |
Definition at line 47 of file GDMLDetectorTool.h.
47{this, "GDMLFileName", "", "Name of the GDML file to be used as input."};
◆ m_geoDetectorName
| Gaudi::Property<std::string> GDMLDetectorTool::m_geoDetectorName {this, "GeoDetectorName", "", "Name of the detector in GeoModel, if different from G4."} |
|
private |
Definition at line 48 of file GDMLDetectorTool.h.
48{this, "GeoDetectorName", "", "Name of the detector in GeoModel, if different from G4."};
◆ m_isWorld
| bool DetectorGeometryBase::m_isWorld {false} |
|
protectedinherited |
◆ m_notifierSvc
Definition at line 66 of file DetectorGeometryBase.h.
66{this, "GeometryNotifierSvc", "G4GeometryNotifierSvc", "Detector name (same as the Tool name if not set"};
◆ m_offsetX
| Gaudi::Property<double> DetectorGeometryBase::m_offsetX {this, "OffsetX" , 0.0, "Offset in the X-direction"} |
|
protectedinherited |
◆ m_offsetY
| Gaudi::Property<double> DetectorGeometryBase::m_offsetY {this, "OffsetY" , 0.0, "Offset in the Y-direction"} |
|
protectedinherited |
◆ m_offsetZ
| Gaudi::Property<double> DetectorGeometryBase::m_offsetZ {this, "OffsetZ" , 0.0, "Offset in the Z-direction"} |
|
protectedinherited |
◆ m_rotateX
| Gaudi::Property<double> DetectorGeometryBase::m_rotateX {this, "RotateX" , 0.0, "Rotation around the X-axis"} |
|
protectedinherited |
◆ m_rotateY
| Gaudi::Property<double> DetectorGeometryBase::m_rotateY {this, "RotateY" , 0.0, "Rotation around the Y-axis"} |
|
protectedinherited |
◆ m_rotateZ
| Gaudi::Property<double> DetectorGeometryBase::m_rotateZ {this, "RotateZ" , 0.0, "Rotation around the Z-axis"} |
|
protectedinherited |
◆ m_subDetTools
| ToolHandleArray<IDetectorGeometryTool> DetectorGeometryBase::m_subDetTools {this, "SubDetectors", {}, "Tool handle array of all subdetector tools"} |
|
protectedinherited |
Definition at line 64 of file DetectorGeometryBase.h.
64{this, "SubDetectors", {}, "Tool handle array of all subdetector tools"};
◆ m_theParent
◆ m_topTransform
| G4Transform3D GDMLDetectorTool::m_topTransform |
|
private |
The documentation for this class was generated from the following files: