ATLAS Offline Software
Loading...
Searching...
No Matches
GeometryBuilderCond.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 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
14// Trk
19// Gaudi & Athena
21#include "GaudiKernel/ToolHandle.h"
22
23#ifdef TRKDETDESCR_MEMUSAGE
25#endif
26
27namespace Trk {
28
30class TrackingVolume;
34
45
47 : public AthAlgTool
49 , virtual public IGeometryBuilderCond
50{
51
52public:
54 GeometryBuilderCond(const std::string&, const std::string&, const IInterface*);
55
58
60 virtual StatusCode initialize() override;
61
66 virtual std::unique_ptr<Trk::TrackingGeometry> trackingGeometry(
67 const EventContext& ctx,
69 SG::WriteCondHandle<TrackingGeometry>& whandle) const override;
70
72 virtual GeometrySignature geometrySignature() const override { return Trk::Global; }
73
74private:
76 std::unique_ptr<Trk::TrackingGeometry> atlasTrackingGeometry
77 (const EventContext& ctx, SG::WriteCondHandle<TrackingGeometry>& whandle) const;
78
79#ifdef TRKDETDESCR_MEMUSAGE
80 MemoryLogger m_memoryLogger;
81#endif
82
85
86 std::vector<double> m_worldDimension;
87 std::vector<double> m_worldMaterialProperties;
89
90 // -------------------------- Tools for geometry building ------------------------------------------------------ //
91
92 ToolHandle<ITrackingVolumeArrayCreator> m_trackingVolumeArrayCreator;
93
94 ToolHandle<ITrackingVolumeHelper> m_trackingVolumeHelper;
95
96 ToolHandle<IGeometryBuilderCond> m_inDetGeometryBuilderCond;
97
99 ToolHandle<IGeometryBuilderCond> m_caloGeometryBuilderCond;
100
102 ToolHandle<IGeometryBuilderCond> m_hgtdGeometryBuilderCond;
103
105 ToolHandle<IGeometryBuilderCond> m_muonGeometryBuilderCond;
106
109};
110
111} // end of namespace
112
113#endif // TRKDETDESCRTOOLS_GEOMETRYBUILDERCOND_H
114
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
int m_navigationLevel
NavigationLevel.
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...
ToolHandle< IGeometryBuilderCond > m_muonGeometryBuilderCond
GeometryBuilderCond for the Muon System.
ToolHandle< ITrackingVolumeHelper > m_trackingVolumeHelper
Helper Tool to create TrackingVolumes.
Material m_worldMaterial
the world material
ToolHandle< IGeometryBuilderCond > m_caloGeometryBuilderCond
GeometryBuilderCond for the Calorimeters.
ToolHandle< IGeometryBuilderCond > m_inDetGeometryBuilderCond
GeometryBuilderCond for the InnerDetector.
bool m_muonGeometry
GeometryBuilderCond for the Muon System.
std::vector< double > m_worldMaterialProperties
The material properties of the created world.
ToolHandle< IGeometryBuilderCond > m_hgtdGeometryBuilderCond
switch on TrackingGeometry for HGTD
std::unique_ptr< Trk::TrackingGeometry > atlasTrackingGeometry(const EventContext &ctx, SG::WriteCondHandle< TrackingGeometry > &whandle) const
TrackingGeometry for ATLAS setup.
bool m_createWorld
Boolean Switch to create World manually.
std::vector< double > m_worldDimension
The dimensions of the manually created world.
ToolHandle< ITrackingVolumeArrayCreator > m_trackingVolumeArrayCreator
Helper Tool to create TrackingVolume Arrays.
bool m_synchronizeLayers
synchronize contained layer dimensions to volumes
virtual ~GeometryBuilderCond()
Destructor.
virtual StatusCode initialize() override
AlgTool initialize method.
virtual GeometrySignature geometrySignature() const override
The unique signature.
GeometryBuilderCond(const std::string &, const std::string &, const IInterface *)
Constructor.
bool m_compactify
optimize event memory usage: register all surfaces with TG
bool m_caloGeometry
switch on TrackingGeometry for the Calorimeters
Interface class IGeometryBuilderCond, the GeometryBuilder inherits from this one.
Interface class ITrackingVolumeArrayCreators It inherits from IAlgTool.
Interface class ITrackingVolumeBuilders It inherits from IAlgTool.
Interface class ITrackingVolumeHelpers It inherits from IAlgTool.
A common object to be contained by.
Definition Material.h:117
A small helper class looking at /proc/<PID>status.
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Ensure that the ATLAS eigen extensions are properly loaded.