ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventCnvTools
src
MuonEventCnvTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONEVENTCNVTOOL_H
6
#define MUONEVENTCNVTOOL_H
7
8
#include <string>
9
10
#include "
AthenaBaseComps/AthAlgTool.h
"
11
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
12
#include "
MuonPrepRawData/CscPrepDataContainer.h
"
13
#include "
MuonPrepRawData/MMPrepDataContainer.h
"
14
#include "
MuonPrepRawData/MdtPrepDataContainer.h
"
15
#include "
MuonPrepRawData/RpcPrepDataContainer.h
"
16
#include "
MuonPrepRawData/TgcPrepDataContainer.h
"
17
#include "
MuonPrepRawData/sTgcPrepDataContainer.h
"
18
#include "
MuonReadoutGeometry/MuonDetectorManager.h
"
19
20
#include "
TrkEventCnvTools/ITrkEventCnvTool.h
"
21
22
23
namespace
Trk
{
24
class
RIO_OnTrack
;
25
}
// namespace Trk
26
27
namespace
Muon
{
28
30
class
MuonEventCnvTool
:
public
extends<AthAlgTool, Trk::ITrkEventCnvTool> {
31
public
:
32
using
base_class::base_class;
33
virtual
StatusCode
initialize
()
override
;
34
36
virtual
void
checkRoT
(
const
Trk::RIO_OnTrack
& rioOnTrack)
const override
;
37
38
virtual
std::pair<const Trk::TrkDetElementBase*, const Trk::PrepRawData*>
getLinks
(
Trk::RIO_OnTrack
& rioOnTrack)
const override
;
39
41
virtual
void
prepareRIO_OnTrack
(
Trk::RIO_OnTrack
* rot)
const override
;
42
45
virtual
void
prepareRIO_OnTrackLink
(
const
Trk::RIO_OnTrack
* rot, ELKey_t& key, ELIndex_t&
index
)
const override
;
46
48
virtual
void
recreateRIO_OnTrack
(
Trk::RIO_OnTrack
* RoT)
const override
;
49
51
virtual
const
Trk::TrkDetElementBase
*
getDetectorElement
(
const
Identifier
&
id
,
const
IdentifierHash
& idHash)
const override
;
52
54
virtual
const
Trk::TrkDetElementBase
*
getDetectorElement
(
const
Identifier
&
id
)
const override
;
55
56
private
:
57
/* Retrieves the PrepRawData container from StorGate and returns the corresponding element with the same identifier */
58
const
Trk::PrepRawData
*
getLink
(
const
Identifier
&
id
,
const
IdentifierHash
& idHash)
const
;
59
60
template
<
class
CONT>
61
const
Trk::PrepRawData
*
getLink
(
const
Identifier
&
id
,
const
IdentifierHash
& idHash,
const
SG::ReadHandleKey<CONT>
& handle,
62
const
EventContext& ctx)
const
;
63
64
private
:
65
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"MuonIdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
66
67
SG::ReadHandleKey<RpcPrepDataContainer>
m_rpcPrdKey
{
this
,
"RpcClusterContainer"
,
"RPC_Measurements"
,
"Location for RPC PRDs"
};
68
SG::ReadHandleKey<CscPrepDataContainer>
m_cscPrdKey
{
this
,
"CscClusterContainer"
,
"CSC_Clusters"
,
"Location for CSC PRDs"
};
69
SG::ReadHandleKey<TgcPrepDataContainer>
m_tgcPrdKey
{
this
,
"TgcClusterContainer"
,
"TGC_MeasurementsAllBCs"
,
"Location for TGC PRDs"
};
70
SG::ReadHandleKey<MdtPrepDataContainer>
m_mdtPrdKey
{
this
,
"MdtClusterContainer"
,
"MDT_DriftCircles"
,
"Location for MDT PRDs"
};
71
SG::ReadHandleKey<MMPrepDataContainer>
m_mmPrdKey
{
this
,
"MM_ClusterContainer"
,
"MM_Measurements"
,
"Location for MM PRDs"
};
72
SG::ReadHandleKey<sTgcPrepDataContainer>
m_stgcPrdKey
{
this
,
"STGC_ClusterContainer"
,
"STGC_Measurements"
,
"Location for sTGC PRDs"
};
73
74
SG::ReadCondHandleKey<MuonGM::MuonDetectorManager>
m_detectorManagerKey
{
this
,
"DetectorManagerKey"
,
"MuonDetectorManager"
,
75
"Key of input MuonDetectorManager condition data"
};
76
79
Gaudi::Property<bool>
m_manuallyFindPRDs
{
this
,
"FindPRDsManually"
,
false
,
80
"If true, search for PRDs manually - i.e. do not rely on ElementLink working"
};
81
Gaudi::Property<bool>
m_fixTGCs
{
this
,
"FixTGCs"
,
false
,
"If true, try to fix broken EL, e.g. ATLASRECTS-5151"
};
82
};
83
84
}
// namespace Muon
85
#endif
// MOORETOTRACKTOOL_H
AthAlgTool.h
CscPrepDataContainer.h
IMuonIdHelperSvc.h
ITrkEventCnvTool.h
MMPrepDataContainer.h
MdtPrepDataContainer.h
MuonDetectorManager.h
RpcPrepDataContainer.h
TgcPrepDataContainer.h
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
Muon::MuonEventCnvTool
Tool used in the persisency convertors to help rebuild EDM objects.
Definition
MuonEventCnvTool.h:30
Muon::MuonEventCnvTool::m_manuallyFindPRDs
Gaudi::Property< bool > m_manuallyFindPRDs
If true, search for PRDs manually - i.e.
Definition
MuonEventCnvTool.h:79
Muon::MuonEventCnvTool::getLinks
virtual std::pair< const Trk::TrkDetElementBase *, const Trk::PrepRawData * > getLinks(Trk::RIO_OnTrack &rioOnTrack) const override
Definition
MuonEventCnvTool.cxx:55
Muon::MuonEventCnvTool::prepareRIO_OnTrack
virtual void prepareRIO_OnTrack(Trk::RIO_OnTrack *rot) const override
Definition
MuonEventCnvTool.cxx:79
Muon::MuonEventCnvTool::m_fixTGCs
Gaudi::Property< bool > m_fixTGCs
Definition
MuonEventCnvTool.h:81
Muon::MuonEventCnvTool::m_mdtPrdKey
SG::ReadHandleKey< MdtPrepDataContainer > m_mdtPrdKey
Definition
MuonEventCnvTool.h:70
Muon::MuonEventCnvTool::m_mmPrdKey
SG::ReadHandleKey< MMPrepDataContainer > m_mmPrdKey
Definition
MuonEventCnvTool.h:71
Muon::MuonEventCnvTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
MuonEventCnvTool.h:65
Muon::MuonEventCnvTool::m_rpcPrdKey
SG::ReadHandleKey< RpcPrepDataContainer > m_rpcPrdKey
Definition
MuonEventCnvTool.h:67
Muon::MuonEventCnvTool::prepareRIO_OnTrackLink
virtual void prepareRIO_OnTrackLink(const Trk::RIO_OnTrack *rot, ELKey_t &key, ELIndex_t &index) const override
Similar, but just return the EL components rather then changing ROT.
Definition
MuonEventCnvTool.cxx:112
Muon::MuonEventCnvTool::m_cscPrdKey
SG::ReadHandleKey< CscPrepDataContainer > m_cscPrdKey
Definition
MuonEventCnvTool.h:68
Muon::MuonEventCnvTool::checkRoT
virtual void checkRoT(const Trk::RIO_OnTrack &rioOnTrack) const override
check that the RoT is correctly filled
Definition
MuonEventCnvTool.cxx:44
Muon::MuonEventCnvTool::m_stgcPrdKey
SG::ReadHandleKey< sTgcPrepDataContainer > m_stgcPrdKey
Definition
MuonEventCnvTool.h:72
Muon::MuonEventCnvTool::initialize
virtual StatusCode initialize() override
Definition
MuonEventCnvTool.cxx:31
Muon::MuonEventCnvTool::recreateRIO_OnTrack
virtual void recreateRIO_OnTrack(Trk::RIO_OnTrack *RoT) const override
Take the passed RoT and recreate it (i.e.
Definition
MuonEventCnvTool.cxx:145
Muon::MuonEventCnvTool::getDetectorElement
virtual const Trk::TrkDetElementBase * getDetectorElement(const Identifier &id, const IdentifierHash &idHash) const override
Return the detectorElement associated with this Identifier.
Definition
MuonEventCnvTool.cxx:150
Muon::MuonEventCnvTool::m_detectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_detectorManagerKey
Definition
MuonEventCnvTool.h:74
Muon::MuonEventCnvTool::m_tgcPrdKey
SG::ReadHandleKey< TgcPrepDataContainer > m_tgcPrdKey
Definition
MuonEventCnvTool.h:69
Muon::MuonEventCnvTool::getLink
const Trk::PrepRawData * getLink(const Identifier &id, const IdentifierHash &idHash) const
Definition
MuonEventCnvTool.cxx:170
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
Trk::PrepRawData
Definition
PrepRawData.h:62
Trk::RIO_OnTrack
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition
RIO_OnTrack.h:70
Trk::TrkDetElementBase
This is the base class for all tracking detector elements with read-out relevant information.
Definition
TrkDetElementBase.h:52
Identifier
Definition
IdentifierFieldParser.cxx:14
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
index
Definition
index.py:1
sTgcPrepDataContainer.h
Generated on
for ATLAS Offline Software by
1.17.0