ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonDetDescr
MuonTrackingGeometry
src
MuonTrackingGeometryBuilderCond.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
// MuonTrackingGeometryBuilderCond.cxx, (c) ATLAS Detector software
8
9
// Muon
10
#include "
MuonTrackingGeometry/MuonTrackingGeometryBuilderCond.h
"
11
12
#include "
AthenaKernel/IOVInfiniteRange.h
"
13
14
Muon::MuonTrackingGeometryBuilderCond::MuonTrackingGeometryBuilderCond
(
15
const
std::string& t,
const
std::string& n,
const
IInterface* p)
16
:
MuonTrackingGeometryBuilderImpl
(t, n, p) {
17
declareInterface<Trk::IGeometryBuilderCond>(
this
);
18
}
19
20
StatusCode
Muon::MuonTrackingGeometryBuilderCond::initialize
() {
21
// Retrieve the station builder (if configured)
22
// -------------------------------------------
23
ATH_CHECK
(
m_stationBuilder
.retrieve(EnableTool{m_muonActive}));
24
25
// Retrieve the inert material builder builder (if configured)
26
// -------------------------------------------
27
28
ATH_CHECK
(
m_inertBuilder
.retrieve(EnableTool{m_muonInert || m_blendInertMaterial}));
29
return
MuonTrackingGeometryBuilderImpl::initialize
();
30
}
31
32
std::unique_ptr<Trk::TrackingGeometry>
33
Muon::MuonTrackingGeometryBuilderCond::trackingGeometry
(
const
EventContext& ctx,
34
Trk::TrackingVolume
* tvol,
35
SG::WriteCondHandle<Trk::TrackingGeometry>
& whandle)
const
{
36
ATH_MSG_DEBUG
(
" building tracking geometry"
);
37
38
// process muon material objects
39
40
DetachedVolVec
stations{};
41
if
(
m_muonActive
&&
m_stationBuilder
) {
42
stations =
m_stationBuilder
->buildDetachedTrackingVolumes(ctx, whandle);
43
}
44
45
DetachedVolVec
inertObjs{};
46
if
(
m_muonInert
&&
m_inertBuilder
) {
47
inertObjs =
m_inertBuilder
->buildDetachedTrackingVolumes(ctx, whandle,
m_blendInertMaterial
);
48
}
49
50
return
MuonTrackingGeometryBuilderImpl::trackingGeometryImpl
(std::move(stations),
51
std::move(inertObjs), tvol);
52
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
IOVInfiniteRange.h
MuonTrackingGeometryBuilderCond.h
Muon::MuonTrackingGeometryBuilderCond::MuonTrackingGeometryBuilderCond
MuonTrackingGeometryBuilderCond(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
MuonTrackingGeometryBuilderCond.cxx:14
Muon::MuonTrackingGeometryBuilderCond::m_inertBuilder
ToolHandle< Muon::MuonInertMaterialBuilderCond > m_inertBuilder
A Tool for inert object creation.
Definition
MuonTrackingGeometryBuilderCond.h:66
Muon::MuonTrackingGeometryBuilderCond::trackingGeometry
virtual std::unique_ptr< Trk::TrackingGeometry > trackingGeometry(const EventContext &ctx, Trk::TrackingVolume *tvol, SG::WriteCondHandle< Trk::TrackingGeometry > &whandle) const override
TrackingGeometry Interface method.
Definition
MuonTrackingGeometryBuilderCond.cxx:33
Muon::MuonTrackingGeometryBuilderCond::initialize
virtual StatusCode initialize() override
AlgTool initailize method.
Definition
MuonTrackingGeometryBuilderCond.cxx:20
Muon::MuonTrackingGeometryBuilderCond::m_stationBuilder
ToolHandle< Trk::IDetachedTrackingVolumeBuilderCond > m_stationBuilder
A Tool for station type creation.
Definition
MuonTrackingGeometryBuilderCond.h:58
Muon::MuonTrackingGeometryBuilderImpl::initialize
virtual StatusCode initialize() override
AlgTool initailize method.
Definition
MuonTrackingGeometryBuilderImpl.cxx:66
Muon::MuonTrackingGeometryBuilderImpl::DetachedVolVec
std::vector< DetachedVolPtr > DetachedVolVec
Definition
MuonTrackingGeometryBuilderImpl.h:63
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_muonInert
Gaudi::Property< bool > m_muonInert
Definition
MuonTrackingGeometryBuilderImpl.h:176
SG::WriteCondHandle
Definition
WriteCondHandle.h:26
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