ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkDetDescrTools
TrkDetDescrTools
GeometryBuilderCond.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
// GeometryBuilderCond.h, (c) ATLAS Detector software
8
9
#ifndef TRKDETDESCRTOOLS_GEOMETRYBUILDERCOND_H
10
#define TRKDETDESCRTOOLS_GEOMETRYBUILDERCOND_H
11
12
// Amg
13
#include "
GeoPrimitives/GeoPrimitives.h
"
14
// Trk
15
#include "
TrkDetDescrInterfaces/IGeometryBuilderCond.h
"
16
#include "
TrkDetDescrInterfaces/ITrackingVolumeBuilder.h
"
17
#include "
TrkDetDescrInterfaces/ITrackingVolumeArrayCreator.h
"
18
#include "
TrkDetDescrInterfaces/ITrackingVolumeHelper.h
"
19
#include "
TrkDetDescrUtils/GeometrySignature.h
"
20
#include "
TrkGeometry/Material.h
"
21
#include "
TrkGeometry/TrackingVolumeManipulator.h
"
22
// Gaudi & Athena
23
#include "
AthenaBaseComps/AthAlgTool.h
"
24
#include "GaudiKernel/ToolHandle.h"
25
26
#ifdef TRKDETDESCR_MEMUSAGE
27
#include "
TrkDetDescrUtils/MemoryLogger.h
"
28
#endif
29
30
namespace
Trk
{
31
32
class
TrackingGeometry
;
33
class
TrackingVolume
;
34
45
46
class
GeometryBuilderCond
47
:
public
AthAlgTool
48
,
public
TrackingVolumeManipulator
49
,
virtual
public
IGeometryBuilderCond
50
{
51
52
public
:
54
GeometryBuilderCond
(
const
std::string&,
const
std::string&,
const
IInterface*);
55
57
virtual
StatusCode
initialize
()
override
;
58
63
virtual
std::unique_ptr<Trk::TrackingGeometry>
trackingGeometry
(
64
const
EventContext& ctx,
65
Trk::TrackingVolume
* tVol,
66
SG::WriteCondHandle<TrackingGeometry>
& whandle)
const override
;
67
69
virtual
GeometrySignature
geometrySignature
()
const override
{
return
Trk::Global
; }
70
71
private
:
73
std::unique_ptr<Trk::TrackingGeometry>
atlasTrackingGeometry
74
(
const
EventContext& ctx,
SG::WriteCondHandle<TrackingGeometry>
& whandle)
const
;
75
76
#ifdef TRKDETDESCR_MEMUSAGE
77
MemoryLogger
m_memoryLogger{};
78
#endif
79
80
Gaudi::Property<bool>
m_createWorld
{
this
,
"CreateWorldManually"
,
true
,
81
"Boolean Switch to create World manually"
};
82
Gaudi::Property<int>
m_navigationLevel
{
this
,
"NavigationLevel"
, 2};
83
84
Gaudi::Property<std::vector<double>>
m_worldDimension
85
{
this
,
"WorldDimension"
, {},
"The dimensions of the manually created world"
};
86
Gaudi::Property<std::vector<double>>
m_worldMaterialProperties
87
{
this
,
"WorldMaterialProperties"
, {},
"The material properties of the created world"
};
88
Material
m_worldMaterial
{};
89
90
// -------------------------- Tools for geometry building ------------------------------------------------------ //
91
92
ToolHandle<ITrackingVolumeArrayCreator>
m_trackingVolumeArrayCreator
93
{
this
,
"TrackingVolumeArrayCreator"
,
94
"Trk::TrackingVolumeArrayCreator/TrackingVolumeArrayCreator"
,
95
"Helper Tool to create TrackingVolume Arrays"
};
96
97
ToolHandle<ITrackingVolumeHelper>
m_trackingVolumeHelper
98
{
this
,
"TrackingVolumeHelper"
,
99
"Trk::TrackingVolumeHelper/TrackingVolumeHelper"
,
100
"Helper Tool to create TrackingVolumes"
};
101
102
ToolHandle<IGeometryBuilderCond>
m_inDetGeometryBuilderCond
103
{
this
,
"InDetTrackingGeometryBuilder"
,
""
,
104
"GeometryBuilderCond for the InnerDetector"
};
105
106
ToolHandle<IGeometryBuilderCond>
m_caloGeometryBuilderCond
107
{
this
,
"CaloTrackingGeometryBuilder"
,
""
,
108
"GeometryBuilderCond for the Calorimeters"
};
109
110
ToolHandle<IGeometryBuilderCond>
m_hgtdGeometryBuilderCond
111
{
this
,
"HGTD_TrackingGeometryBuilder"
,
""
,
"GeometryBuilder for the HGTD"
};
112
113
ToolHandle<IGeometryBuilderCond>
m_muonGeometryBuilderCond
114
{
this
,
"MuonTrackingGeometryBuilder"
,
""
,
115
"GeometryBuilderCond for the Muon System"
};
116
117
Gaudi::Property<bool>
m_compactify
{
this
,
"Compactify"
,
true
,
118
"optimize event memory usage: register all surfaces with TG"
};
119
Gaudi::Property<bool>
m_synchronizeLayers
{
this
,
"SynchronizeLayers"
,
true
,
120
"synchronize contained layer dimensions to volumes"
};
121
};
122
123
}
// end of namespace
124
125
#endif
// TRKDETDESCRTOOLS_GEOMETRYBUILDERCOND_H
126
AthAlgTool.h
GeoPrimitives.h
GeometrySignature.h
IGeometryBuilderCond.h
ITrackingVolumeArrayCreator.h
ITrackingVolumeBuilder.h
ITrackingVolumeHelper.h
Material.h
MemoryLogger.h
TrackingVolumeManipulator.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
SG::WriteCondHandle
Definition
WriteCondHandle.h:26
Trk::GeometryBuilderCond::trackingGeometry
virtual std::unique_ptr< Trk::TrackingGeometry > trackingGeometry(const EventContext &ctx, Trk::TrackingVolume *tVol, SG::WriteCondHandle< TrackingGeometry > &whandle) const override
TrackingGeometry Interface method - optionally a pointer to Bounds Interface marked as not thread saf...
Definition
GeometryBuilderCond.cxx:92
Trk::GeometryBuilderCond::m_createWorld
Gaudi::Property< bool > m_createWorld
Definition
GeometryBuilderCond.h:80
Trk::GeometryBuilderCond::m_muonGeometryBuilderCond
ToolHandle< IGeometryBuilderCond > m_muonGeometryBuilderCond
Definition
GeometryBuilderCond.h:114
Trk::GeometryBuilderCond::m_trackingVolumeHelper
ToolHandle< ITrackingVolumeHelper > m_trackingVolumeHelper
Definition
GeometryBuilderCond.h:98
Trk::GeometryBuilderCond::m_worldMaterial
Material m_worldMaterial
the world material
Definition
GeometryBuilderCond.h:88
Trk::GeometryBuilderCond::m_synchronizeLayers
Gaudi::Property< bool > m_synchronizeLayers
Definition
GeometryBuilderCond.h:119
Trk::GeometryBuilderCond::m_caloGeometryBuilderCond
ToolHandle< IGeometryBuilderCond > m_caloGeometryBuilderCond
Definition
GeometryBuilderCond.h:107
Trk::GeometryBuilderCond::m_inDetGeometryBuilderCond
ToolHandle< IGeometryBuilderCond > m_inDetGeometryBuilderCond
Definition
GeometryBuilderCond.h:103
Trk::GeometryBuilderCond::m_worldDimension
Gaudi::Property< std::vector< double > > m_worldDimension
Definition
GeometryBuilderCond.h:85
Trk::GeometryBuilderCond::m_worldMaterialProperties
Gaudi::Property< std::vector< double > > m_worldMaterialProperties
Definition
GeometryBuilderCond.h:87
Trk::GeometryBuilderCond::m_navigationLevel
Gaudi::Property< int > m_navigationLevel
Definition
GeometryBuilderCond.h:82
Trk::GeometryBuilderCond::m_hgtdGeometryBuilderCond
ToolHandle< IGeometryBuilderCond > m_hgtdGeometryBuilderCond
Definition
GeometryBuilderCond.h:111
Trk::GeometryBuilderCond::atlasTrackingGeometry
std::unique_ptr< Trk::TrackingGeometry > atlasTrackingGeometry(const EventContext &ctx, SG::WriteCondHandle< TrackingGeometry > &whandle) const
TrackingGeometry for ATLAS setup.
Definition
GeometryBuilderCond.cxx:124
Trk::GeometryBuilderCond::m_compactify
Gaudi::Property< bool > m_compactify
Definition
GeometryBuilderCond.h:117
Trk::GeometryBuilderCond::m_trackingVolumeArrayCreator
ToolHandle< ITrackingVolumeArrayCreator > m_trackingVolumeArrayCreator
Definition
GeometryBuilderCond.h:93
Trk::GeometryBuilderCond::initialize
virtual StatusCode initialize() override
AlgTool initialize method.
Definition
GeometryBuilderCond.cxx:42
Trk::GeometryBuilderCond::geometrySignature
virtual GeometrySignature geometrySignature() const override
The unique signature.
Definition
GeometryBuilderCond.h:69
Trk::GeometryBuilderCond::GeometryBuilderCond
GeometryBuilderCond(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
GeometryBuilderCond.cxx:32
Trk::IGeometryBuilderCond
Interface class IGeometryBuilderCond, the GeometryBuilder inherits from this one.
Definition
IGeometryBuilderCond.h:45
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