ATLAS Offline Software
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}));
26  if (!m_muonActive) m_activeAdjustLevel = 0;
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)
33  m_inertAdjustLevel = 0;
34 
36 }
37 
38 std::unique_ptr<Trk::TrackingGeometry>
40  // process muon material objects
41  std::vector<std::unique_ptr<Trk::DetachedTrackingVolume>> stations;
42  if (m_muonActive && m_stationBuilder) {
43  stations = m_stationBuilder->buildDetachedTrackingVolumes();
44  }
45 
46 
47  std::vector<std::unique_ptr<Trk::DetachedTrackingVolume> > inertObjs;
48  if (m_muonInert && m_inertBuilder) {
49  inertObjs = m_inertBuilder->buildDetachedTrackingVolumes(m_blendInertMaterial);
50  }
51 
52  return MuonTrackingGeometryBuilderImpl::trackingGeometryImpl(std::move(stations), std::move(inertObjs), tvol);
53 }
Muon::MuonTrackingGeometryBuilder::trackingGeometry
virtual std::unique_ptr< Trk::TrackingGeometry > trackingGeometry(Trk::TrackingVolume *tvol=0) const override
TrackingGeometry Interface method.
Definition: MuonTrackingGeometryBuilder.cxx:39
Muon::MuonTrackingGeometryBuilder::MuonTrackingGeometryBuilder
MuonTrackingGeometryBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition: MuonTrackingGeometryBuilder.cxx:13
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Muon::MuonTrackingGeometryBuilderImpl::initialize
virtual StatusCode initialize() override
AlgTool initailize method.
Definition: MuonTrackingGeometryBuilderImpl.cxx:65
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Muon::MuonTrackingGeometryBuilder::initialize
virtual StatusCode initialize() override
AlgTool initailize method.
Definition: MuonTrackingGeometryBuilder.cxx:22
Muon::MuonTrackingGeometryBuilderImpl::trackingGeometryImpl
std::unique_ptr< Trk::TrackingGeometry > trackingGeometryImpl(DetachedVolVec &&stations, DetachedVolVec &&inertObjs, Trk::TrackingVolume *tvol) const
Definition: MuonTrackingGeometryBuilderImpl.cxx:81
MuonTrackingGeometryBuilder.h
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Muon::MuonTrackingGeometryBuilderImpl
Definition: MuonTrackingGeometryBuilderImpl.h:54