ATLAS Offline Software
MuonSpacePoint.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONSPACEPOINT_MUONSPACEPOINT_H
5 #define MUONSPACEPOINT_MUONSPACEPOINT_H
6 
11 namespace MuonR4 {
19  public:
20  /*** @brief: Constructor of the SpacePoint
21  * @param gctx: Geometry context needed to derive the local positions
22  * @param primaryMeas: Primary measurement of the spacepoint by convention that shall be the eta one
23  * if both measurements are available
24  * @param secondaryMeas: The complementary phi measurement if availbe
25  */
27  const xAOD::UncalibratedMeasurement* primMeas,
28  const xAOD::UncalibratedMeasurement* secondMeas = nullptr);
29 
30  /*** @brief: Pointer to the primary measurement */
32  /*** @brief: Pointer to the secondary measurement */
34  /*** @brief: Pointer to the associated muon chamber */
35  const MuonGMR4::MuonChamber* muonChamber() const;
36  /*** @brief: Position of the space point inside the chamber */
37  const Amg::Vector3D& positionInChamber() const;
39  bool measuresPhi() const;
41  bool measuresEta() const;
43  const Identifier& identify() const;
45  double driftRadius() const;
47  Amg::Vector2D uncertainty() const;
48  const AmgSymMatrix(2)& covariance() const;
50  bool operator==(const MuonSpacePoint& other) const {
51  return primaryMeasurement() == other.primaryMeasurement() &&
52  secondaryMeasurement() == other.secondaryMeasurement();
53  }
54  private:
57 
60 
67  AmgSymMatrix(2) m_measCovariance{AmgSymMatrix(2)::Identity()};
69  double m_driftR{0.};
70  };
71 
72 }
73 
74 
75 #endif
MuonR4::MuonSpacePoint::primaryMeasurement
const xAOD::UncalibratedMeasurement * primaryMeasurement() const
Definition: MuonSpacePoint.cxx:90
xAOD::UncalibratedMeasurement_v1::identifier
DetectorIdentType identifier() const
Returns the full Identifier of the measurement.
Identifier::value_type
IDENTIFIER_TYPE value_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:39
UncalibratedMeasurement.h
UtilFunctions.h
MuonR4::MuonSpacePoint::identify
const Identifier & identify() const
: Identifier of the primary measurement
Definition: MuonSpacePoint.cxx:108
MuonR4::MuonSpacePoint::MuonSpacePoint
MuonSpacePoint(const ActsGeometryContext &gctx, const xAOD::UncalibratedMeasurement *primMeas, const xAOD::UncalibratedMeasurement *secondMeas=nullptr)
Definition: MuonSpacePoint.cxx:16
MuonR4::MuonSpacePoint::m_chamber
const MuonGMR4::MuonChamber * m_chamber
Definition: MuonSpacePoint.h:59
MuonR4::MuonSpacePoint::AmgSymMatrix
AmgSymMatrix(2) m_measCovariance
: Measurement covariance If the spacePoint represents an 1D measurement the second coordinate is the ...
Definition: MuonSpacePoint.h:67
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
MuonR4::MuonSpacePoint::muonChamber
const MuonGMR4::MuonChamber * muonChamber() const
Definition: MuonSpacePoint.cxx:96
MuonR4::MuonSpacePoint::m_primaryMeas
const xAOD::UncalibratedMeasurement * m_primaryMeas
Definition: MuonSpacePoint.h:55
MuonGMR4::MuonChamber
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonChamber.h:42
MuonR4::MuonSpacePoint::m_pos
Amg::Vector3D m_pos
Definition: MuonSpacePoint.h:61
xAOD::UncalibratedMeasurement_v1
Definition: UncalibratedMeasurement_v1.h:13
MuonR4::MuonSpacePoint::measuresEta
bool measuresEta() const
: Does the space point contain an eta measurement
Definition: MuonSpacePoint.cxx:105
MuonR4::MuonSpacePoint::positionInChamber
const Amg::Vector3D & positionInChamber() const
Definition: MuonSpacePoint.cxx:99
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
MuonR4::MuonSpacePoint::m_driftR
double m_driftR
Drift radius of the associated drift circle - if there's any in the space point.
Definition: MuonSpacePoint.h:69
MuonR4::MuonSpacePoint::secondaryMeasurement
const xAOD::UncalibratedMeasurement * secondaryMeasurement() const
Definition: MuonSpacePoint.cxx:93
CachedUniquePtr.h
Cached unique_ptr with atomic update.
MuonR4::MuonSpacePoint::uncertainty
Amg::Vector2D uncertainty() const
: Returns the uncertainties on the space point
Definition: MuonSpacePoint.cxx:114
MuonGMR4::MuonReadoutElement::getChamber
const MuonChamber * getChamber() const
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:147
MuonChamber.h
xAOD::readoutElement
const MuonGMR4::MuonReadoutElement * readoutElement(const UncalibratedMeasurement *meas)
Returns the associated readout element to the measurement.
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx:32
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
MuonR4::MuonSpacePoint
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
Definition: MuonSpacePoint.h:18
MuonR4::MuonSpacePoint::m_id
Identifier m_id
Definition: MuonSpacePoint.h:58
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonR4::MuonSpacePoint::measuresPhi
bool measuresPhi() const
: Does the space point contain a phi measurement
Definition: MuonSpacePoint.cxx:102
MuonR4
The CsvMuonSimHitDumper reads a Simulation Hit container for muons and dumps information to csv files...
Definition: MuonSpacePoint.h:11
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
MuonR4::MuonSpacePoint::operator==
bool operator==(const MuonSpacePoint &other) const
: Equality check by checking the prd pointers
Definition: MuonSpacePoint.h:50
MuonR4::MuonSpacePoint::m_secondaryMeas
const xAOD::UncalibratedMeasurement * m_secondaryMeas
Definition: MuonSpacePoint.h:56
MuonR4::MuonSpacePoint::AmgSymMatrix
const AmgSymMatrix(2) &covariance() const
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
MuonR4::MuonSpacePoint::driftRadius
double driftRadius() const
: Returns the size of the drift radius
Definition: MuonSpacePoint.cxx:111