 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ACTSMUONDETECTOR_MUONBLUEPRINTNODEBUILDER_H
6 #define ACTSMUONDETECTOR_MUONBLUEPRINTNODEBUILDER_H
10 #include <GaudiKernel/MsgStream.h>
17 #include "Acts/Utilities/BoundFactory.hpp"
18 #include "Acts/Surfaces/PlanarBounds.hpp"
19 #include "Acts/Surfaces/Surface.hpp"
29 class GeometryContext;
30 namespace Experimental {
31 class StaticBlueprintNode;
40 using staticNodePtr = std::shared_ptr<Acts::Experimental::StaticBlueprintNode>;
61 using base_class::base_class;
66 std::shared_ptr<Acts::Experimental::BlueprintNode>
buildBlueprintNode(
const Acts::GeometryContext& gctx,
67 std::shared_ptr<Acts::Experimental::BlueprintNode>&& childNode)
override;
83 std::shared_ptr<Acts::Surface>
blendMaterial(
const T& element)
const;
94 const Acts::GeometryIdentifier& chId,
95 Acts::VolumeBoundFactory& boundsFactory)
const;
113 template<
typename MuonElementsSet>
114 std::shared_ptr<Acts::Experimental::StaticBlueprintNode>
buildMuonNode(
const Acts::GeometryContext& gctx,
115 const MuonElementsSet& elements,
116 const std::string&
name,
117 const Acts::GeometryIdentifier&
id,
118 Acts::VolumeBoundFactory& boundsFactory)
const;
Chamber
Define chamber types and locations.
std::set< const SpectrometerSector *, MSEnvelopeSorter > MuonSectorSet
std::pair< std::vector< staticNodePtr >, std::vector< surfacePtr > > getSensitiveElements(const ActsTrk::GeometryContext &gctx, const T &element, const Acts::GeometryIdentifier &chId, Acts::VolumeBoundFactory &boundsFactory) const
Get the chamber's sensitive elements.
Gaudi::Property< bool > m_dumpVolumes
std::shared_ptr< Acts::Surface > surfacePtr
const MuonGMR4::MuonDetectorManager * m_detMgr
Gaudi::Property< bool > m_useSectors
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
::StatusCode StatusCode
StatusCode definition for legacy code.
std::set< const Chamber *, MSEnvelopeSorter > MuonChamberSet
std::shared_ptr< Acts::Experimental::StaticBlueprintNode > staticNodePtr
StatusCode initialize() override
bool isElementInTheStation(const T &element, const std::vector< StIdx > &stationNames, const EndcapSide &side) const
Check if the chamber is in this node.
Helper class to build a Blueprint node of the muon system.
std::shared_ptr< Acts::Surface > blendMaterial(const T &element) const
Blend the sector's/chamber's material as plane surface.
std::shared_ptr< Acts::Experimental::StaticBlueprintNode > buildMuonNode(const Acts::GeometryContext &gctx, const MuonElementsSet &elements, const std::string &name, const Acts::GeometryIdentifier &id, Acts::VolumeBoundFactory &boundsFactory) const
Build subnodes for the muon system node.
StIndex
enum to classify the different station layers in the muon spectrometer
MuonGMR4::MuonDetectorManager::MuonSectorSet MuonSectorSet
MuonGMR4::MuonDetectorManager::MuonChamberSet MuonChamberSet
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
std::shared_ptr< Acts::Experimental::BlueprintNode > buildBlueprintNode(const Acts::GeometryContext &gctx, std::shared_ptr< Acts::Experimental::BlueprintNode > &&childNode) override
Build the Muon Blueprint Node.