 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ACTSGEOMETRY_ACTSTRACKINGGEOMETRYSVC_H
6 #define ACTSGEOMETRY_ACTSTRACKINGGEOMETRYSVC_H
19 #include "Acts/Geometry/CylinderVolumeBuilder.hpp"
24 #include <tbb/concurrent_unordered_map.h>
27 class InDetDetectorManager;
28 class SiDetectorManager;
29 class TRT_DetectorManager;
33 class ActsAlignmentStore;
42 class TrackingGeometry;
43 class CylinderVolumeHelper;
46 class GeometryIdentifier;
47 class BinnedSurfaceMaterial;
49 namespace Experimental {
62 std::shared_ptr<const Acts::TrackingGeometry>
73 std::shared_ptr<const Acts::ILayerBuilder>
76 std::shared_ptr<const Acts::ILayerBuilder>
79 std::shared_ptr<Acts::TrackingVolume>
80 makeSCTTRTAssembly(
const Acts::GeometryContext& gctx,
const Acts::ILayerBuilder& sct_lb,
81 const Acts::ILayerBuilder& trt_lb,
const Acts::CylinderVolumeHelper& cvh,
82 const std::shared_ptr<const Acts::TrackingVolume>&
pixel);
85 std::shared_ptr<const Acts::CylinderVolumeHelper> cvh)
const;
114 Gaudi::Property<std::vector<std::string>>
m_buildSubdetectors{
this,
"BuildSubDetectors", {
"Pixel",
"SCT",
"TRT",
"Calo",
"HGTD",
"Muon"}};
133 false,
"Run extra consistency checks w.r.t to Trk::. This is SLOW!"};
136 "",
"Output file for geometry debugging, will not write if empty",};
139 1000,
"number of random points for consistency check"};
152 Gaudi::Property<bool>
m_useBlueprint{
this,
"UseBlueprint",
false,
"Use the new Blueprint API for geometry construction"};
154 "",
"Write the blueprint graph to a file. No file will be written if empty"};
155 Gaudi::Property<bool>
m_doEndcapLayerMerging{
this,
"DoEndcapLayerMerging",
true,
"Merge overlapping endcap layers in z"};
Acts::CylinderVolumeBuilder::Config makeBeamPipeConfig(std::shared_ptr< const Acts::CylinderVolumeHelper > cvh) const
BooleanProperty m_runConsistencyChecks
Gaudi::Property< std::vector< float > > m_passiveITkStripBarrelLayerHalflengthZ
StringProperty m_consistencyCheckOutput
Gaudi::Property< std::vector< size_t > > m_barrelMaterialBins
unsigned int populateAlignmentStore(ActsTrk::DetectorAlignStore &store) const override
bool runConsistencyChecks() const
Gaudi::Property< size_t > m_consistencyCheckPoints
ServiceHandle< StoreGateSvc > m_detStore
const InDetDD::SiDetectorManager * p_ITkPixelManager
const BeamPipeDetectorManager * p_beamPipeMgr
ToolHandle< IActsTrackingVolumeBuilder > m_caloVolumeBuilder
const ActsGeometryContext & getNominalContext() const override
const InDetDD::TRT_DetectorManager * p_TRTManager
const HGTD_DetectorManager * p_HGTDManager
ToolHandle< IActsTrackingVolumeBuilder > m_msVolumeBuilder
ToolHandleArray< ActsTrk::IBlueprintNodeBuilder > m_blueprintNodeBuilders
std::shared_ptr< ActsElementVector > m_elementStore
Gaudi::Property< std::string > m_materialMapInputFileBase
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< bool > m_useBlueprint
const InDetDD::SiDetectorManager * p_pixelManager
const InDetDD::SiDetectorManager * p_SCTManager
Gaudi::Property< bool > m_buildBeamPipe
Gaudi::Property< std::vector< float > > m_passiveITkStripBarrelLayerRadii
Gaudi::Property< std::vector< float > > m_passiveITkOuterPixelBarrelLayerRadii
ActsLayerBuilder::Config makeLayerBuilderConfig(const InDetDD::InDetDetectorManager *manager)
std::shared_ptr< const Acts::TrackingGeometry > trackingGeometry() override
Gaudi::Property< std::vector< size_t > > m_endcapMaterialBins
Gaudi::Property< std::string > m_materialMapCalibFolder
Include the GeoPrimitives which need to be put first.
Gaudi::Property< std::vector< float > > m_passiveITkInnerPixelBarrelLayerThickness
Gaudi::Property< std::vector< float > > m_passiveITkStripBarrelLayerThickness
std::shared_ptr< Acts::TrackingVolume > makeSCTTRTAssembly(const Acts::GeometryContext &gctx, const Acts::ILayerBuilder &sct_lb, const Acts::ILayerBuilder &trt_lb, const Acts::CylinderVolumeHelper &cvh, const std::shared_ptr< const Acts::TrackingVolume > &pixel)
const InDetDD::SiDetectorManager * p_ITkStripManager
Gaudi::Property< std::vector< float > > m_passiveITkOuterPixelBarrelLayerHalflengthZ
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
std::set< ActsTrk::DetectorType > m_subDetNoAlign
StatusCode initialize() override
Gaudi::Property< std::vector< float > > m_passiveITkOuterPixelBarrelLayerThickness
Gaudi::Property< std::string > m_blueprintGraphviz
ActsTrackingGeometrySvc(const std::string &name, ISvcLocator *pSvcLocator)
std::shared_ptr< const Acts::ILayerBuilder > makeStrawLayerBuilder(const InDetDD::InDetDetectorManager *manager)
Gaudi::Property< bool > m_useMaterialMap
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry
std::shared_ptr< const Acts::ILayerBuilder > makeHGTDLayerBuilder(const HGTD_DetectorManager *manager)
Gaudi::Property< std::vector< std::string > > m_buildSubdetectors
ActsGeometryContext m_nominalContext
Helper to hold elements for deletion.
const TRT_ID * m_TRT_idHelper
const HGTD_ID * m_HGTD_idHelper
Gaudi::Property< std::vector< float > > m_passiveITkInnerPixelBarrelLayerRadii
the specifications for building additional passive cylinders in the barrel region: for each cylinder ...
Gaudi::Property< std::vector< unsigned int > > m_subDetNoAlignProp
Define the subdetectors for which the tracking geometry does not expect a valid alignment store.
Gaudi::Property< bool > m_objDebugOutput
Gaudi::Property< bool > m_doEndcapLayerMerging
Gaudi::Property< std::vector< float > > m_passiveITkInnerPixelBarrelLayerHalflengthZ