ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonDetDescr
MuonTrackingGeometry
src
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
10
#include "
MuonTrackingGeometry/MuonTrackingGeometryBuilder.h
"
11
12
// constructor
13
Muon::MuonTrackingGeometryBuilder::MuonTrackingGeometryBuilder
(
14
const
std::string& t,
const
std::string& n,
const
IInterface* p)
15
:
MuonTrackingGeometryBuilderImpl
(t, n, p) {
16
declareInterface<Trk::IGeometryBuilder>(
this
);
17
}
18
19
// Athena standard methods
20
// initialize
21
22
StatusCode
Muon::MuonTrackingGeometryBuilder::initialize
() {
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
35
return
MuonTrackingGeometryBuilderImpl::initialize
();
36
}
37
38
std::unique_ptr<Trk::TrackingGeometry>
39
Muon::MuonTrackingGeometryBuilder::trackingGeometry
(
Trk::TrackingVolume
* tvol)
const
{
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
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
MuonTrackingGeometryBuilder.h
Muon::MuonTrackingGeometryBuilderImpl::initialize
virtual StatusCode initialize() override
AlgTool initailize method.
Definition
MuonTrackingGeometryBuilderImpl.cxx:66
Muon::MuonTrackingGeometryBuilderImpl::m_muonActive
Gaudi::Property< bool > m_muonActive
Definition
MuonTrackingGeometryBuilderImpl.h:175
Muon::MuonTrackingGeometryBuilderImpl::trackingGeometryImpl
std::unique_ptr< Trk::TrackingGeometry > trackingGeometryImpl(DetachedVolVec &&stations, DetachedVolVec &&inertObjs, Trk::TrackingVolume *tvol) const
Definition
MuonTrackingGeometryBuilderImpl.cxx:82
Muon::MuonTrackingGeometryBuilderImpl::MuonTrackingGeometryBuilderImpl
MuonTrackingGeometryBuilderImpl(const std::string &, const std::string &, const IInterface *)
Definition
MuonTrackingGeometryBuilderImpl.cxx:59
Muon::MuonTrackingGeometryBuilderImpl::m_blendInertMaterial
Gaudi::Property< bool > m_blendInertMaterial
Definition
MuonTrackingGeometryBuilderImpl.h:210
Muon::MuonTrackingGeometryBuilderImpl::m_activeAdjustLevel
Gaudi::Property< int > m_activeAdjustLevel
Definition
MuonTrackingGeometryBuilderImpl.h:217
Muon::MuonTrackingGeometryBuilderImpl::m_muonInert
Gaudi::Property< bool > m_muonInert
Definition
MuonTrackingGeometryBuilderImpl.h:176
Muon::MuonTrackingGeometryBuilderImpl::m_inertAdjustLevel
Gaudi::Property< int > m_inertAdjustLevel
Definition
MuonTrackingGeometryBuilderImpl.h:218
Muon::MuonTrackingGeometryBuilder::initialize
virtual StatusCode initialize() override
AlgTool initailize method.
Definition
MuonTrackingGeometryBuilder.cxx:22
Muon::MuonTrackingGeometryBuilder::MuonTrackingGeometryBuilder
MuonTrackingGeometryBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
MuonTrackingGeometryBuilder.cxx:13
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::m_stationBuilder
ToolHandle< Trk::IDetachedTrackingVolumeBuilder > m_stationBuilder
A Tool for station type creation.
Definition
MuonTrackingGeometryBuilder.h:55
Muon::MuonTrackingGeometryBuilder::m_inertBuilder
ToolHandle< Muon::MuonInertMaterialBuilder > m_inertBuilder
A Tool for inert object creation.
Definition
MuonTrackingGeometryBuilder.h:61
Trk::TrackingVolume
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Definition
TrackingVolume.h:119
Generated on
for ATLAS Offline Software by
1.17.0