ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonReconstruction
MuonRecTools
MuonTGRecTools
src
MuonSystemExtensionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUON_MUONSYSTEMEXTENSIONTOOL_H
6
#define MUON_MUONSYSTEMEXTENSIONTOOL_H
7
8
#include <vector>
9
10
#include "
AthenaBaseComps/AthAlgTool.h
"
11
#include "GaudiKernel/ToolHandle.h"
12
#include "
MuonDetDescrUtils/MuonSectorMapping.h
"
13
#include "
MuonLayerEvent/MuonLayerSurface.h
"
14
#include "
MuonRecToolInterfaces/IMuonSystemExtensionTool.h
"
15
#include "
MuonRecHelperTools/MuonEDMPrinterTool.h
"
16
#include "
MuonStationIndex/MuonStationIndex.h
"
17
#include "
RecoToolInterfaces/IParticleCaloExtensionTool.h
"
18
#include "
TrkExInterfaces/IExtrapolator.h
"
19
#include "
TrkParameters/TrackParameters.h
"
20
#include "
xAODTracking/TrackParticle.h
"
21
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
22
23
24
namespace
Trk
{
25
class
Surface
;
26
}
27
28
namespace
Muon
{
29
30
class
MuonSystemExtension
;
31
32
class
MuonSystemExtensionTool
:
public
extends<AthAlgTool, IMuonSystemExtensionTool> {
33
public
:
34
typedef
std::vector<MuonLayerSurface>
SurfaceVec
;
35
37
using
base_class::base_class;
38
virtual
~MuonSystemExtensionTool
() =
default
;
39
StatusCode
initialize
()
override
;
40
42
bool
muonSystemExtension
(
const
EventContext& ctx, SystemExtensionCache& cache)
const override
;
43
44
bool
muonLayerInterSections
(
const
EventContext& ctx,
45
const
MuonCombined::TagBase
& cmb_tag,
46
SystemExtensionCache& cache)
const override
;
47
48
private
:
50
bool
initializeGeometry
();
51
bool
initializeGeometryBarrel
(
int
sector,
const
Amg::Transform3D
& sectorRotation);
52
bool
initializeGeometryEndcap
(
int
sector,
MuonStationIndex::DetectorRegionIndex
regionIndex,
53
const
Amg::Transform3D
& sectorRotation);
54
56
SurfaceVec
getSurfacesForIntersection
(
const
Trk::TrackParameters
& muonEntryPars,
const
SystemExtensionCache& cache)
const
;
57
58
ToolHandle<Trk::IParticleCaloExtensionTool>
m_caloExtensionTool
{
59
this
,
60
"ParticleCaloExtensionTool"
,
61
"Trk::ParticleCaloExtensionTool/ParticleCaloExtensionTool"
,
62
};
63
ToolHandle<Trk::IExtrapolator>
m_extrapolator
{
this
,
"Extrapolator"
,
""
};
64
65
PublicToolHandle<MuonEDMPrinterTool>
m_printer
{
this
,
"Printer"
,
"Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"
};
66
67
ServiceHandle<IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"MuonIdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
68
69
ServiceHandle<IMuonEDMHelperSvc>
m_edmHelperSvc
{
this
,
"edmHelper"
,
"Muon::MuonEDMHelperSvc/MuonEDMHelperSvc"
,
70
"Handle to the service providing the IMuonEDMHelperSvc interface"
};
71
73
using
DetRegIdx
=
MuonStationIndex::DetectorRegionIndex
;
74
std::array<std::array<SurfaceVec, 16> ,
75
MuonStationIndex::toInt
(DetRegIdx::DetectorRegionIndexMax)>
m_referenceSurfaces
{};
76
78
MuonSectorMapping
m_sectorMapping
;
79
};
80
}
// namespace Muon
81
82
#endif
AthAlgTool.h
TrackParticle.h
IExtrapolator.h
IMuonIdHelperSvc.h
IMuonSystemExtensionTool.h
IParticleCaloExtensionTool.h
MuonEDMPrinterTool.h
MuonLayerSurface.h
MuonSectorMapping.h
MuonStationIndex.h
TrackParameters.h
MuonCombined::TagBase
base-class for combined reconstruction output Provides access to MuonType and Author
Definition
TagBase.h:49
Muon::MuonSectorMapping
Definition
MuonSectorMapping.h:20
Muon::MuonSystemExtensionTool
Definition
MuonSystemExtensionTool.h:32
Muon::MuonSystemExtensionTool::SurfaceVec
std::vector< MuonLayerSurface > SurfaceVec
Definition
MuonSystemExtensionTool.h:34
Muon::MuonSystemExtensionTool::m_caloExtensionTool
ToolHandle< Trk::IParticleCaloExtensionTool > m_caloExtensionTool
Definition
MuonSystemExtensionTool.h:58
Muon::MuonSystemExtensionTool::m_sectorMapping
MuonSectorMapping m_sectorMapping
sector mapping helper
Definition
MuonSystemExtensionTool.h:78
Muon::MuonSystemExtensionTool::DetRegIdx
MuonStationIndex::DetectorRegionIndex DetRegIdx
reference surfaces per region and sector
Definition
MuonSystemExtensionTool.h:73
Muon::MuonSystemExtensionTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition
MuonSystemExtensionTool.h:63
Muon::MuonSystemExtensionTool::m_idHelperSvc
ServiceHandle< IMuonIdHelperSvc > m_idHelperSvc
Definition
MuonSystemExtensionTool.h:67
Muon::MuonSystemExtensionTool::initializeGeometryBarrel
bool initializeGeometryBarrel(int sector, const Amg::Transform3D §orRotation)
Definition
MuonSystemExtensionTool.cxx:94
Muon::MuonSystemExtensionTool::muonLayerInterSections
bool muonLayerInterSections(const EventContext &ctx, const MuonCombined::TagBase &cmb_tag, SystemExtensionCache &cache) const override
Definition
MuonSystemExtensionTool.cxx:270
Muon::MuonSystemExtensionTool::muonSystemExtension
bool muonSystemExtension(const EventContext &ctx, SystemExtensionCache &cache) const override
get muon system extension
Definition
MuonSystemExtensionTool.cxx:130
Muon::MuonSystemExtensionTool::m_referenceSurfaces
std::array< std::array< SurfaceVec, 16 >, MuonStationIndex::toInt(DetRegIdx::DetectorRegionIndexMax)> m_referenceSurfaces
Definition
MuonSystemExtensionTool.h:75
Muon::MuonSystemExtensionTool::initializeGeometry
bool initializeGeometry()
initialize geometry
Definition
MuonSystemExtensionTool.cxx:44
Muon::MuonSystemExtensionTool::initialize
StatusCode initialize() override
Definition
MuonSystemExtensionTool.cxx:35
Muon::MuonSystemExtensionTool::getSurfacesForIntersection
SurfaceVec getSurfacesForIntersection(const Trk::TrackParameters &muonEntryPars, const SystemExtensionCache &cache) const
get surfaces to be intersected for a given start parameters
Definition
MuonSystemExtensionTool.cxx:219
Muon::MuonSystemExtensionTool::~MuonSystemExtensionTool
virtual ~MuonSystemExtensionTool()=default
Muon::MuonSystemExtensionTool::m_edmHelperSvc
ServiceHandle< IMuonEDMHelperSvc > m_edmHelperSvc
Definition
MuonSystemExtensionTool.h:69
Muon::MuonSystemExtensionTool::m_printer
PublicToolHandle< MuonEDMPrinterTool > m_printer
Definition
MuonSystemExtensionTool.h:65
Muon::MuonSystemExtensionTool::initializeGeometryEndcap
bool initializeGeometryEndcap(int sector, MuonStationIndex::DetectorRegionIndex regionIndex, const Amg::Transform3D §orRotation)
Definition
MuonSystemExtensionTool.cxx:61
Muon::MuonSystemExtension
Tracking class to hold the extrapolation from a particle from the calo entry to the end of muon syste...
Definition
MuonSystemExtension.h:18
ServiceHandle
Definition
ClusterMakerTool.h:36
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
Muon::MuonStationIndex::DetectorRegionIndex
DetectorRegionIndex
enum to classify the different layers in the muon spectrometer
Definition
MuonStationIndex.h:48
Muon::MuonStationIndex::toInt
constexpr int toInt(const EnumType enumVal)
Definition
MuonStationIndex.h:62
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0