ATLAS Offline Software
Loading...
Searching...
No Matches
GeometryBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 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
14// Trk
19// Gaudi & Athena
21#include "GaudiKernel/ToolHandle.h"
22
23#ifdef TRKDETDESCR_MEMUSAGE
25#endif
26
27
29namespace Trk {
30
31 class TrackingGeometry;
32 class TrackingVolume;
36
46
48 public AthAlgTool,
50 virtual public IGeometryBuilder {
51
52 public:
54 GeometryBuilder(const std::string&,const std::string&,const IInterface*);
55
58
60 StatusCode initialize();
61
62
64 std::unique_ptr<TrackingGeometry> trackingGeometry(TrackingVolume* tvol = 0) const;
65
68
69 private:
70
72 std::unique_ptr<TrackingGeometry> atlasTrackingGeometry() const;
73
74#ifdef TRKDETDESCR_MEMUSAGE
75 MemoryLogger m_memoryLogger;
76#endif
77
80
81 std::vector< double > m_worldDimension;
82 std::vector< double > m_worldMaterialProperties;
84
85 // -------------------------- Tools for geometry building ------------------------------------------------------ //
86
87 ToolHandle<ITrackingVolumeArrayCreator> m_trackingVolumeArrayCreator;
88
89 ToolHandle<ITrackingVolumeHelper> m_trackingVolumeHelper;
90
91 //bool m_inDetGeometry; //!< switch on TrackingGeometry for the InnerDetector
92 ToolHandle<IGeometryBuilder> m_inDetGeometryBuilder;
93
95 ToolHandle<IGeometryBuilder> m_caloGeometryBuilder;
96
98 ToolHandle<IGeometryBuilder> m_muonGeometryBuilder;
99
102
103 };
104
105} // end of namespace
106
107#endif // TRKDETDESCRTOOLS_GEOMETRYBUILDER_H
108
Define macros for attributes used to control the static checker.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
bool m_compactify
optimize event memory usage: register all surfaces with TG
StatusCode initialize()
AlgTool initialize method.
virtual ~GeometryBuilder()
Destructor.
std::vector< double > m_worldDimension
The dimensions of the manually created world.
GeometrySignature geometrySignature() const
The unique signature.
std::vector< double > m_worldMaterialProperties
The material properties of the created world.
int m_navigationLevel
NavigationLevel.
ToolHandle< ITrackingVolumeHelper > m_trackingVolumeHelper
Helper Tool to create TrackingVolumes.
bool m_caloGeometry
switch on TrackingGeometry for the Calorimeters
ToolHandle< IGeometryBuilder > m_muonGeometryBuilder
GeometryBuilder for the Muon System.
ToolHandle< IGeometryBuilder > m_inDetGeometryBuilder
GeometryBuilder for the InnerDetector.
bool m_muonGeometry
GeometryBuilder for the Muon System.
std::unique_ptr< TrackingGeometry > trackingGeometry(TrackingVolume *tvol=0) const
TrackingGeometry Interface method - optionally a pointer to Bounds.
GeometryBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
ToolHandle< IGeometryBuilder > m_caloGeometryBuilder
GeometryBuilder for the Calorimeters.
bool m_synchronizeLayers
synchronize contained layer dimensions to volumes
std::unique_ptr< TrackingGeometry > atlasTrackingGeometry() const
TrackingGeometry for ATLAS setup.
ToolHandle< ITrackingVolumeArrayCreator > m_trackingVolumeArrayCreator
Helper Tool to create TrackingVolume Arrays.
bool m_createWorld
Boolean Switch to create World manually.
Material m_worldMaterial
the world material
Interface class IGeometryBuilders, 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.