ATLAS Offline Software
Loading...
Searching...
No Matches
MMClusterOnTrack.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONRIOONTRACK_MMCLUSTERONTRACK_H
6#define MUONRIOONTRACK_MMCLUSTERONTRACK_H
7
8// Base classes
11// needed classes
13#include "AthLinks/ElementLink.h"
14
16
17namespace Trk
18{
19 class ITrkEventCnvTool;
20}
21
22namespace Muon
23{
24
27
28 public:
30
31 MMClusterOnTrack() = default;
36
37
47 Trk::LocalParameters&& locpos,
48 Amg::MatrixX&& locerr,
49 double positionAlongStrip,
50 std::vector<float>&& stripDriftDists,
51 std::vector<Amg::MatrixX>&& stripDriftDistErrors);
52
53 // Alternate constructor that doesn't dereference the RIO link.
55 Trk::LocalParameters&& locpos,
56 Amg::MatrixX&& locerr,
57 const Identifier& id,
58 const MuonGM::MMReadoutElement* detEl,
59 double positionAlongStrip,
60 std::vector<float>&& stripDriftDists,
61 std::vector<Amg::MatrixX>&& stripDriftDistErrors);
62
64 virtual ~MMClusterOnTrack() = default;
65
67 virtual MMClusterOnTrack* clone() const ;
68
70 virtual const MMPrepData* prepRawData() const;
72
74 virtual const MuonGM::MMReadoutElement* detectorElement() const;
75
78 virtual const Trk::Surface& associatedSurface() const;
79
80 const std::vector<float>& stripDriftDists() const;
81 const std::vector<Amg::MatrixX>& stripDriftDistErrors() const;
82
84 virtual MsgStream& dump( MsgStream& stream) const;
85
87 virtual std::ostream& dump( std::ostream& stream) const;
88
95 void setAuthor(Author a);
96
97 Author author() const;
98
99 private:
103 virtual void setValues(const Trk::TrkDetElementBase*, const Trk::PrepRawData*);
106
109
110 std::vector<float> m_stripDriftDists{};
111 std::vector<Amg::MatrixX> m_stripDriftDistErrors{};
113 };
114
116 // Inline methods:
118
120 m_author = a;
121 }
124 {
125 return new MMClusterOnTrack(*this);
126 }
127
129 {
130 if (m_rio.isValid()) return m_rio.cachedElement();
131 else return nullptr;
132 }
133
135 {
136 return m_rio;
137 }
138
140 {
141 return m_detEl;
142 }
143
145 {
146 assert(0!=detectorElement());
147 return detectorElement()->surface(identify());
148 }
149
150 inline const std::vector<float>& MMClusterOnTrack::stripDriftDists() const
151 {
152 return m_stripDriftDists;
153 }
154
155 inline const std::vector<Amg::MatrixX>& MMClusterOnTrack::stripDriftDistErrors() const
156 {
158 }
159
160
162 const Trk::PrepRawData* /*rio*/)
163 {
164 // m_rio = dynamic_cast<const MMPrepData*>(rio);
165 //assert(0!=m_rio);
166 m_detEl = dynamic_cast<const MuonGM::MMReadoutElement*>(detEl);
167 assert(0!=m_detEl);
168 }
169
170} // namespace Muon
171
172#endif
static Double_t a
ElementLink< Muon::MMPrepDataContainer > ElementLinkToIDC_MM_Container
An MMReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station con...
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
const ElementLinkToIDC_MM_Container & prepRawDataLink() const
const MuonGM::MMReadoutElement * m_detEl
The detector element, assoicated with this measurement.
MMClusterOnTrack & operator=(const MMClusterOnTrack &)=default
virtual MMClusterOnTrack * clone() const
Clone this ROT.
virtual void setValues(const Trk::TrkDetElementBase *, const Trk::PrepRawData *)
Sets the DetElement and Trk::PrepRawData pointers after reading from disk.
MMClusterOnTrack & operator=(MMClusterOnTrack &&)=default
virtual ~MMClusterOnTrack()=default
Destructor.
std::vector< float > m_stripDriftDists
std::vector< Amg::MatrixX > m_stripDriftDistErrors
ElementLinkToIDC_MM_Container m_rio
PrepRawData object assoicated with this measurement.
virtual const MMPrepData * prepRawData() const
Returns the MMPrepData - is a TRT_DriftCircle in this scope.
const std::vector< float > & stripDriftDists() const
MMClusterOnTrack(MMClusterOnTrack &&)=default
const std::vector< Amg::MatrixX > & stripDriftDistErrors() const
virtual const MuonGM::MMReadoutElement * detectorElement() const
Returns the detector element, assoicated with the PRD of this class.
MMClusterOnTrack(const MMClusterOnTrack &)=default
virtual const Trk::Surface & associatedSurface() const
Returns the surface on which this measurement was taken.
Class to represent MM measurements.
Definition MMPrepData.h:22
virtual double positionAlongStrip() const
MuonClusterOnTrack()
Pool constructor.
Identifier identify() const
return the identifier -extends MeasurementBase
Abstract Base Class for tracking surfaces.
This is the base class for all tracking detector elements with read-out relevant information.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file