ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
Event
xAOD
xAODMuonPrepData
Root
CombinedMuonStrip_v1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// EDM include(s):
6
7
#include "
xAODMuonPrepData/versions/CombinedMuonStrip_v1.h
"
8
9
#include "AthLinks/ElementLink.h"
10
#include "
xAODMuonPrepData/MuonMeasurementContainer.h
"
11
namespace
{
12
using
Link_t
=
ElementLink<xAOD::MuonMeasurementContainer>
;
13
static
const
SG::Accessor<Link_t>
acc_primLink{
"MuonStripLink1"
};
14
static
const
SG::Accessor<Link_t>
acc_secondLink{
"MuonStripLink2"
};
15
16
}
17
namespace
xAOD
{
18
xAOD::UncalibMeasType
CombinedMuonStrip_v1::type
()
const
{
19
if
(
const
auto
* prim =
primaryStrip
(); prim !=
nullptr
) {
20
return
prim->type();
21
}
22
if
(
const
auto
* second =
secondaryStrip
() ; second !=
nullptr
) {
23
return
second->type();
24
}
25
return
xAOD::UncalibMeasType::nTypes
;
26
}
27
const
xAOD::MuonMeasurement
*
CombinedMuonStrip_v1::primaryStrip
()
const
{
28
if
(acc_primLink.isAvailable(*
this
) && acc_primLink(*this).isValid()) {
29
return
*acc_primLink(*
this
);
30
}
31
return
nullptr
;
32
}
33
const
xAOD::MuonMeasurement
*
CombinedMuonStrip_v1::secondaryStrip
()
const
{
34
35
if
(acc_secondLink.isAvailable(*
this
) && acc_secondLink(*this).isValid()) {
36
return
*acc_secondLink(*
this
);
37
}
38
return
nullptr
;
39
}
40
41
void
CombinedMuonStrip_v1::setPrimaryStrip
(
const
xAOD::MuonMeasurement
* meas) {
42
assert(meas !=
nullptr
);
43
const
auto
* cont =
static_cast<
const
xAOD::MuonMeasurementContainer
*
>
(meas->container());
44
acc_primLink(*
this
) =
Link_t
{*cont, meas->index()};
45
}
46
void
CombinedMuonStrip_v1::setSecondaryStrip
(
const
xAOD::MuonMeasurement
* meas){
47
assert(meas !=
nullptr
);
48
const
auto
* cont =
static_cast<
const
xAOD::MuonMeasurementContainer
*
>
(meas->container());
49
acc_secondLink(*
this
) =
Link_t
{*cont, meas->index()};
50
}
51
52
const
MuonGMR4::MuonReadoutElement
*
CombinedMuonStrip_v1::readoutElement
()
const
{
53
const
xAOD::MuonMeasurement
*
strip
=
primaryStrip
();
54
return
strip
?
strip
->readoutElement() :
nullptr
;
55
}
56
std::uint8_t
CombinedMuonStrip_v1::measuresPhi
()
const
{
57
return
1;
58
}
59
IdentifierHash
CombinedMuonStrip_v1::measurementHash
()
const
{
60
const
xAOD::MuonMeasurement
*
strip
=
primaryStrip
();
61
return
strip
?
strip
->measurementHash() :
IdentifierHash
{};
62
}
63
IdentifierHash
CombinedMuonStrip_v1::layerHash
()
const
{
64
const
xAOD::MuonMeasurement
*
strip
=
primaryStrip
();
65
return
strip
?
strip
->layerHash() :
IdentifierHash
{};
66
}
67
Amg::Vector3D
CombinedMuonStrip_v1::localMeasurementPos
()
const
{
68
Amg::Vector3D
pos{Amg::Vector3D::Zero()};
69
pos.block<2,1>(0,0) = xAOD::toEigen(
localPosition<2>
());
70
return
pos;
71
}
72
}
CombinedMuonStrip_v1.h
SiliconTech::strip
@ strip
Definition
FPGATrackSimTypes.h:25
MuonMeasurementContainer.h
Link_t
ElementLink< xAOD::TruthParticleContainer > Link_t
Definition
MuonToTruthAssocAlg.cxx:14
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
MuonGMR4::MuonReadoutElement
MuonReadoutElement is an abstract class representing the geometry of a muon detector.
Definition
MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:35
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition
Control/AthContainers/AthContainers/Accessor.h:68
xAOD::CombinedMuonStrip_v1::primaryStrip
const xAOD::MuonMeasurement * primaryStrip() const
Returns the primary associated measurement.
Definition
CombinedMuonStrip_v1.cxx:27
xAOD::CombinedMuonStrip_v1::setSecondaryStrip
void setSecondaryStrip(const xAOD::MuonMeasurement *meas)
Linkt a prd measurement as secondary measurement.
Definition
CombinedMuonStrip_v1.cxx:46
xAOD::CombinedMuonStrip_v1::localMeasurementPos
Amg::Vector3D localMeasurementPos() const override final
Returns the local measurement position in the layer frame.
Definition
CombinedMuonStrip_v1.cxx:67
xAOD::CombinedMuonStrip_v1::layerHash
virtual IdentifierHash layerHash() const override final
Returns the hash of the associated layer (Needed for surface retrieval).
Definition
CombinedMuonStrip_v1.cxx:63
xAOD::CombinedMuonStrip_v1::measurementHash
virtual IdentifierHash measurementHash() const override final
Returns the hash of the measurement channel.
Definition
CombinedMuonStrip_v1.cxx:59
xAOD::CombinedMuonStrip_v1::readoutElement
const MuonGMR4::MuonReadoutElement * readoutElement() const override final
Returns the associated readout element.
Definition
CombinedMuonStrip_v1.cxx:52
xAOD::CombinedMuonStrip_v1::measuresPhi
virtual std::uint8_t measuresPhi() const override final
Returns whether the phi coordinate is measured.
Definition
CombinedMuonStrip_v1.cxx:56
xAOD::CombinedMuonStrip_v1::secondaryStrip
const xAOD::MuonMeasurement * secondaryStrip() const
Returns the secondary associated measurement.
Definition
CombinedMuonStrip_v1.cxx:33
xAOD::CombinedMuonStrip_v1::type
virtual xAOD::UncalibMeasType type() const override final
Returns the type of the measurement type as a simple enumeration.
Definition
CombinedMuonStrip_v1.cxx:18
xAOD::CombinedMuonStrip_v1::setPrimaryStrip
void setPrimaryStrip(const xAOD::MuonMeasurement *meas)
Links a prd measurement as primary meaurement.
Definition
CombinedMuonStrip_v1.cxx:41
xAOD::UncalibratedMeasurement_v1::localPosition
ConstVectorMap< N > localPosition() const
Returns the local position of the measurement.
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::MuonMeasurement
MuonMeasurement_v1 MuonMeasurement
Definition
MuonMeasurementFwd.h:11
xAOD::UncalibMeasType
UncalibMeasType
Define the type of the uncalibrated measurement.
Definition
MeasurementDefs.h:24
xAOD::UncalibMeasType::nTypes
@ nTypes
Definition
MeasurementDefs.h:38
xAOD::MuonMeasurementContainer
MuonMeasurementContainer_v1 MuonMeasurementContainer
Definition
MuonMeasurementContainer.h:12
Generated on
for ATLAS Offline Software by
1.17.0