ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkDetDescrTools
TrkDetDescrTools
GeometryBuilder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// GeometryBuilder.h, (c) ATLAS Detector software
8
9
#ifndef TRKDETDESCRTOOLS_GEOMETRYBUILDER_H
10
#define TRKDETDESCRTOOLS_GEOMETRYBUILDER_H
11
12
// Amg
13
#include "
GeoPrimitives/GeoPrimitives.h
"
14
// Trk
15
#include "
TrkDetDescrInterfaces/IGeometryBuilder.h
"
16
#include "
TrkDetDescrInterfaces/ITrackingVolumeArrayCreator.h
"
17
#include "
TrkDetDescrInterfaces/ITrackingVolumeHelper.h
"
18
#include "
TrkDetDescrUtils/GeometrySignature.h
"
19
#include "
TrkGeometry/TrackingVolumeManipulator.h
"
20
#include "
TrkGeometry/Material.h
"
21
// Gaudi & Athena
22
#include "
AthenaBaseComps/AthAlgTool.h
"
23
#include "GaudiKernel/ToolHandle.h"
24
25
#ifdef TRKDETDESCR_MEMUSAGE
26
#include "
TrkDetDescrUtils/MemoryLogger.h
"
27
#endif
28
29
30
#include "
CxxUtils/checker_macros.h
"
31
namespace
Trk
{
32
33
class
TrackingGeometry
;
34
class
TrackingVolume
;
35
45
46
class
GeometryBuilder
:
47
public
AthAlgTool
,
48
public
TrackingVolumeManipulator
,
49
virtual
public
IGeometryBuilder
{
50
51
public
:
53
GeometryBuilder
(
const
std::string&,
const
std::string&,
const
IInterface*);
54
56
StatusCode
initialize
();
57
58
60
std::unique_ptr<TrackingGeometry>
trackingGeometry
(
TrackingVolume
* tvol = 0)
const
;
61
63
GeometrySignature
geometrySignature
()
const
{
return
Trk::Global
; }
64
65
private
:
66
68
std::unique_ptr<TrackingGeometry>
atlasTrackingGeometry
()
const
;
69
70
#ifdef TRKDETDESCR_MEMUSAGE
71
MemoryLogger
m_memoryLogger{};
72
#endif
73
74
Gaudi::Property<bool>
m_createWorld
{
this
,
"CreateWorldManually"
,
true
,
75
"Boolean Switch to create World manually"
};
76
Gaudi::Property<int>
m_navigationLevel
{
this
,
"NavigationLevel"
, 2};
77
78
Gaudi::Property<std::vector<double>>
m_worldDimension
79
{
this
,
"WorldDimension"
, {},
80
"The dimensions of the manually created world"
};
81
Gaudi::Property<std::vector<double>>
m_worldMaterialProperties
82
{
this
,
"WorldMaterialProperties"
, {},
83
"The material properties of the created world"
};
84
Material
m_worldMaterial
{};
85
86
// -------------------------- Tools for geometry building ------------------------------------------------------ //
87
88
ToolHandle<ITrackingVolumeArrayCreator>
m_trackingVolumeArrayCreator
89
{
this
,
"TrackingVolumeArrayCreator"
,
90
"Trk::TrackingVolumeArrayCreator/TrackingVolumeArrayCreator"
,
91
"Helper Tool to create TrackingVolume Arrays"
};
92
93
ToolHandle<ITrackingVolumeHelper>
m_trackingVolumeHelper
94
{
this
,
"TrackingVolumeHelper"
,
95
"Trk::TrackingVolumeHelper/TrackingVolumeHelper"
,
96
"Helper Tool to create TrackingVolumes"
};
97
98
ToolHandle<IGeometryBuilder>
m_inDetGeometryBuilder
99
{
this
,
"InDetTrackingGeometryBuilder"
,
""
,
100
"GeometryBuilder for the InnerDetector"
};
101
102
ToolHandle<IGeometryBuilder>
m_caloGeometryBuilder
103
{
this
,
"CaloTrackingGeometryBuilder"
,
""
,
104
"GeometryBuilder for the Calorimeters"
};
105
106
ToolHandle<IGeometryBuilder>
m_muonGeometryBuilder
107
{
this
,
"MuonTrackingGeometryBuilder"
,
""
,
108
"GeometryBuilder for the Muon System"
};
109
110
Gaudi::Property<bool>
m_compactify
{
this
,
"Compactify"
,
true
,
111
"optimize event memory usage: register all surfaces with TG"
};
112
Gaudi::Property<bool>
m_synchronizeLayers
113
{
this
,
"SynchronizeLayers"
,
true
,
114
"synchronize contained layer dimensions to volumes"
};
115
116
};
117
118
}
// end of namespace
119
120
#endif
// TRKDETDESCRTOOLS_GEOMETRYBUILDER_H
121
AthAlgTool.h
GeoPrimitives.h
GeometrySignature.h
IGeometryBuilder.h
ITrackingVolumeArrayCreator.h
ITrackingVolumeHelper.h
Material.h
MemoryLogger.h
TrackingVolumeManipulator.h
checker_macros.h
Define macros for attributes used to control the static checker.
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
Trk::GeometryBuilder::initialize
StatusCode initialize()
AlgTool initialize method.
Definition
GeometryBuilder.cxx:40
Trk::GeometryBuilder::geometrySignature
GeometrySignature geometrySignature() const
The unique signature.
Definition
GeometryBuilder.h:63
Trk::GeometryBuilder::m_trackingVolumeHelper
ToolHandle< ITrackingVolumeHelper > m_trackingVolumeHelper
Definition
GeometryBuilder.h:94
Trk::GeometryBuilder::m_muonGeometryBuilder
ToolHandle< IGeometryBuilder > m_muonGeometryBuilder
Definition
GeometryBuilder.h:107
Trk::GeometryBuilder::m_worldDimension
Gaudi::Property< std::vector< double > > m_worldDimension
Definition
GeometryBuilder.h:79
Trk::GeometryBuilder::m_inDetGeometryBuilder
ToolHandle< IGeometryBuilder > m_inDetGeometryBuilder
Definition
GeometryBuilder.h:99
Trk::GeometryBuilder::trackingGeometry
std::unique_ptr< TrackingGeometry > trackingGeometry(TrackingVolume *tvol=0) const
TrackingGeometry Interface method - optionally a pointer to Bounds.
Definition
GeometryBuilder.cxx:82
Trk::GeometryBuilder::m_createWorld
Gaudi::Property< bool > m_createWorld
Definition
GeometryBuilder.h:74
Trk::GeometryBuilder::GeometryBuilder
GeometryBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
GeometryBuilder.cxx:30
Trk::GeometryBuilder::m_navigationLevel
Gaudi::Property< int > m_navigationLevel
Definition
GeometryBuilder.h:76
Trk::GeometryBuilder::m_caloGeometryBuilder
ToolHandle< IGeometryBuilder > m_caloGeometryBuilder
Definition
GeometryBuilder.h:103
Trk::GeometryBuilder::m_synchronizeLayers
Gaudi::Property< bool > m_synchronizeLayers
Definition
GeometryBuilder.h:113
Trk::GeometryBuilder::m_compactify
Gaudi::Property< bool > m_compactify
Definition
GeometryBuilder.h:110
Trk::GeometryBuilder::m_worldMaterialProperties
Gaudi::Property< std::vector< double > > m_worldMaterialProperties
Definition
GeometryBuilder.h:82
Trk::GeometryBuilder::atlasTrackingGeometry
std::unique_ptr< TrackingGeometry > atlasTrackingGeometry() const
TrackingGeometry for ATLAS setup.
Definition
GeometryBuilder.cxx:113
Trk::GeometryBuilder::m_trackingVolumeArrayCreator
ToolHandle< ITrackingVolumeArrayCreator > m_trackingVolumeArrayCreator
Definition
GeometryBuilder.h:89
Trk::GeometryBuilder::m_worldMaterial
Material m_worldMaterial
the world material
Definition
GeometryBuilder.h:84
Trk::IGeometryBuilder
Interface class IGeometryBuilders, the GeometryBuilder inherits from this one.
Definition
IGeometryBuilder.h:40
Trk::Material
A common object to be contained by.
Definition
Material.h:117
Trk::MemoryLogger
A small helper class looking at /proc/<PID>status.
Definition
MemoryLogger.h:31
Trk::TrackingGeometry
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Definition
TrackingGeometry.h:68
Trk::TrackingVolumeManipulator::TrackingVolumeManipulator
TrackingVolumeManipulator()
constructor
Definition
TrackingVolumeManipulator.h:35
Trk::TrackingVolume
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Definition
TrackingVolume.h:119
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::GeometrySignature
GeometrySignature
Definition
GeometrySignature.h:24
Trk::Global
@ Global
Definition
GeometrySignature.h:25
Generated on
for ATLAS Offline Software by
1.17.0