ATLAS Offline Software
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
17 #include "TrkGeometry/Material.h"
19 // Gaudi & Athena
21 #include "GaudiKernel/ToolHandle.h"
22 
23 #ifdef TRKDETDESCR_MEMUSAGE
25 #endif
26 
27 namespace Trk {
28 
29 class TrackingGeometry;
30 class TrackingVolume;
31 class ITrackingVolumeBuilder;
32 class ITrackingVolumeHelper;
33 class ITrackingVolumeArrayCreator;
34 
47  : public AthAlgTool
49  , virtual public IGeometryBuilderCond
50 {
51 
52 public:
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,
68  Trk::TrackingVolume* tVol,
69  SG::WriteCondHandle<TrackingGeometry>& whandle) const override;
70 
72  virtual GeometrySignature geometrySignature() const override { return Trk::Global; }
73 
74 private:
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 
Trk::TrackingVolumeManipulator
Definition: TrackingVolumeManipulator.h:32
Trk::GeometryBuilderCond::m_worldMaterialProperties
std::vector< double > m_worldMaterialProperties
The material properties of the created world.
Definition: GeometryBuilderCond.h:87
IGeometryBuilderCond.h
GeometrySignature.h
Trk::GeometryBuilderCond::m_createWorld
bool m_createWorld
Boolean Switch to create World manually.
Definition: GeometryBuilderCond.h:83
GeometrySignature
Trk::GeometryBuilderCond::m_compactify
bool m_compactify
optimize event memory usage: register all surfaces with TG
Definition: GeometryBuilderCond.h:107
Trk::GeometryBuilderCond::m_navigationLevel
int m_navigationLevel
NavigationLevel.
Definition: GeometryBuilderCond.h:84
Trk::GeometryBuilderCond::m_caloGeometry
bool m_caloGeometry
switch on TrackingGeometry for the Calorimeters
Definition: GeometryBuilderCond.h:98
Trk::GeometryBuilderCond::m_worldDimension
std::vector< double > m_worldDimension
The dimensions of the manually created world.
Definition: GeometryBuilderCond.h:86
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:134
Trk::GeometryBuilderCond::m_hgtdGeometry
bool m_hgtdGeometry
Definition: GeometryBuilderCond.h:101
Trk::GeometryBuilderCond::atlasTrackingGeometry
std::unique_ptr< Trk::TrackingGeometry > atlasTrackingGeometry(const EventContext &ctx, SG::WriteCondHandle< TrackingGeometry > &whandle) const
TrackingGeometry for ATLAS setup.
Definition: GeometryBuilderCond.cxx:166
Trk::GeometryBuilderCond::m_muonGeometry
bool m_muonGeometry
GeometryBuilderCond for the Muon System.
Definition: GeometryBuilderCond.h:104
Trk::GeometryBuilderCond::m_trackingVolumeArrayCreator
ToolHandle< ITrackingVolumeArrayCreator > m_trackingVolumeArrayCreator
Helper Tool to create TrackingVolume Arrays.
Definition: GeometryBuilderCond.h:92
Trk::MemoryLogger
Definition: MemoryLogger.h:31
GeoPrimitives.h
Trk::GeometryBuilderCond::m_inDetGeometryBuilderCond
ToolHandle< IGeometryBuilderCond > m_inDetGeometryBuilderCond
GeometryBuilderCond for the InnerDetector.
Definition: GeometryBuilderCond.h:96
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::GeometryBuilderCond
Definition: GeometryBuilderCond.h:50
AthAlgTool.h
MemoryLogger.h
Trk::GeometryBuilderCond::m_trackingVolumeHelper
ToolHandle< ITrackingVolumeHelper > m_trackingVolumeHelper
Helper Tool to create TrackingVolumes.
Definition: GeometryBuilderCond.h:94
Trk::GeometryBuilderCond::m_caloGeometryBuilderCond
ToolHandle< IGeometryBuilderCond > m_caloGeometryBuilderCond
GeometryBuilderCond for the Calorimeters.
Definition: GeometryBuilderCond.h:99
Trk::Global
@ Global
Definition: GeometrySignature.h:25
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::GeometryBuilderCond::m_hgtdGeometryBuilderCond
ToolHandle< IGeometryBuilderCond > m_hgtdGeometryBuilderCond
switch on TrackingGeometry for HGTD
Definition: GeometryBuilderCond.h:102
Trk::IGeometryBuilderCond
Definition: IGeometryBuilderCond.h:45
Trk::GeometryBuilderCond::m_synchronizeLayers
bool m_synchronizeLayers
synchronize contained layer dimensions to volumes
Definition: GeometryBuilderCond.h:108
Trk::GeometryBuilderCond::GeometryBuilderCond
GeometryBuilderCond(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition: GeometryBuilderCond.cxx:36
TrackingVolumeManipulator.h
Trk::GeometryBuilderCond::m_worldMaterial
Material m_worldMaterial
the world material
Definition: GeometryBuilderCond.h:88
Trk::GeometryBuilderCond::initialize
virtual StatusCode initialize() override
AlgTool initialize method.
Definition: GeometryBuilderCond.cxx:84
Trk::GeometryBuilderCond::~GeometryBuilderCond
virtual ~GeometryBuilderCond()
Destructor.
Trk::GeometryBuilderCond::m_muonGeometryBuilderCond
ToolHandle< IGeometryBuilderCond > m_muonGeometryBuilderCond
GeometryBuilderCond for the Muon System.
Definition: GeometryBuilderCond.h:105
Trk::Material
Definition: Material.h:116
AthAlgTool
Definition: AthAlgTool.h:26
Trk::TrackingVolume
Definition: TrackingVolume.h:121
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
Material.h
Trk::GeometryBuilderCond::geometrySignature
virtual GeometrySignature geometrySignature() const override
The unique signature.
Definition: GeometryBuilderCond.h:72