ATLAS Offline Software
Loading...
Searching...
No Matches
MuonTrackingGeometryBuilder.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// MuonTrackingGeometryBuilder.cxx, (c) ATLAS Detector software
8
9// Muon
11
12// constructor
14 const std::string& t, const std::string& n, const IInterface* p)
16 declareInterface<Trk::IGeometryBuilder>(this);
17}
18
19// Athena standard methods
20// initialize
21
23 // Retrieve the station builder (if configured)
24 // -------------------------------------------
25 ATH_CHECK(m_stationBuilder.retrieve(EnableTool{m_muonActive}));
27 //
28 // Retrieve the inert material builder builder (if configured)
29 // -------------------------------------------
30 ATH_CHECK(m_inertBuilder.retrieve(EnableTool{m_muonInert || m_blendInertMaterial}));
31
32 if (!m_muonInert)
34
36}
37
38std::unique_ptr<Trk::TrackingGeometry>
40 // process muon material objects
41 std::vector<std::unique_ptr<Trk::DetachedTrackingVolume>> stations;
43 stations = m_stationBuilder->buildDetachedTrackingVolumes();
44 }
45
46
47 std::vector<std::unique_ptr<Trk::DetachedTrackingVolume> > inertObjs;
49 inertObjs = m_inertBuilder->buildDetachedTrackingVolumes(m_blendInertMaterial);
50 }
51
52 return MuonTrackingGeometryBuilderImpl::trackingGeometryImpl(std::move(stations), std::move(inertObjs), tvol);
53}
#define ATH_CHECK
Evaluate an expression and check for errors.
virtual StatusCode initialize() override
AlgTool initailize method.
std::unique_ptr< Trk::TrackingGeometry > trackingGeometryImpl(DetachedVolVec &&stations, DetachedVolVec &&inertObjs, Trk::TrackingVolume *tvol) const
MuonTrackingGeometryBuilderImpl(const std::string &, const std::string &, const IInterface *)
virtual StatusCode initialize() override
AlgTool initailize method.
MuonTrackingGeometryBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
virtual std::unique_ptr< Trk::TrackingGeometry > trackingGeometry(Trk::TrackingVolume *tvol=0) const override
TrackingGeometry Interface method.
ToolHandle< Trk::IDetachedTrackingVolumeBuilder > m_stationBuilder
A Tool for station type creation.
ToolHandle< Muon::MuonInertMaterialBuilder > m_inertBuilder
A Tool for inert object creation.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...