ATLAS Offline Software
Loading...
Searching...
No Matches
RpcPrepData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// RpcPrepPdata.h
7// Header file for class RpcPrepData
9// (c) ATLAS Detector software
11// Class to implement Cluster for Muon - RPC
13// Version 1.0 03/30/2005 Ketevi A. Assamagan
15
16#ifndef MUONPREPRAWDATA_RPCPREPDATA_H
17#define MUONPREPRAWDATA_RPCPREPDATA_H
18
19// Base classes
21#include "TrkSurfaces/Surface.h"
23
25
26namespace Muon
27{
28
32
35{
36
38
40 // Public methods:
42public:
43
44 friend class ::RpcPrepDataContainerCnv;
47
48 RpcPrepData() = default;
49 RpcPrepData(const RpcPrepData &) = default;
50 RpcPrepData(RpcPrepData &&) noexcept = default;
51 RpcPrepData &operator=(const RpcPrepData &) = default;
52 RpcPrepData &operator=(RpcPrepData &&) noexcept = default;
53
54
69 const Amg::Vector2D& locpos,
71 const Amg::MatrixX& locErrMat,
72 const MuonGM::RpcReadoutElement* detEl,
73 const float time,
78 const Amg::Vector2D& locpos,
80 Amg::MatrixX&& locErrMat,
81 const MuonGM::RpcReadoutElement* detEl,
82 const float time,
88 const Amg::Vector2D& locpos,
90 const Amg::MatrixX& locErrMat,
91 const MuonGM::RpcReadoutElement* detEl,
92 const float time,
93 const float timeOverThresh,
98 const Amg::Vector2D& locpos,
100 Amg::MatrixX&& locErrMat,
101 const MuonGM::RpcReadoutElement* detEl,
102 const float time,
103 const float timeOverThresh,
104 const int triggerInfo,
105 const int ambiguityFlag);
106
107
110 const IdentifierHash &idDE,
111 const Amg::Vector2D& locpos,
113 const Amg::MatrixX& locErrMat,
114 const MuonGM::RpcReadoutElement* detEl,
115 const float time,
116 const int ambiguityFlag);
118 const IdentifierHash &idDE,
119 const Amg::Vector2D& locpos,
121 Amg::MatrixX&& locErrMat,
122 const MuonGM::RpcReadoutElement* detEl,
123 const float time,
124 const int ambiguityFlag);
125
126
127
128
130 virtual ~RpcPrepData() = default;
131
133 float time() const;
134
136 virtual const Amg::Vector3D& globalPosition() const override;
137
140 virtual const MuonGM::RpcReadoutElement* detectorElement() const override final;
141
143 virtual Trk::PrepRawDataType prdType() const override {
145 }
146
148 int triggerInfo() const;
149
154 int ambiguityFlag() const;
155
157 float timeOverThreshold() const;
158
160 virtual MsgStream& dump( MsgStream& stream) const override;
161
163 virtual std::ostream& dump( std::ostream& stream) const override;
164
165private:
166
169
172 float m_time{0.f};
173
178
180
187
188
189
190};
191
193// Inline methods:
195
196inline float RpcPrepData::time() const
197{
198 return m_time;
199}
200
202{
203 return m_detEl;
204}
205
206inline int RpcPrepData::triggerInfo() const
207{
208 return m_triggerInfo;
209}
210
212{
213 return m_ambiguityFlag;
214}
216
218 {
219 if (!m_globalPosition) {
220 m_globalPosition.set(std::make_unique<const Amg::Vector3D>(
221 m_detEl->surface(identify())
223 }
224 return *m_globalPosition;
225 }
226}
227
228#endif // MUONPREPRAWDATA_RPCPREPDATA_H
229
Eigen::Matrix< double, 3, 1 > Vector3D
This is a "hash" representation of an Identifier.
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
Global position of measurement.
virtual const MuonGM::RpcReadoutElement * detectorElement() const override final
Returns the detector element corresponding to this PRD.
float m_time
Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the R...
float timeOverThreshold() const
Returns the time over threshold.
virtual const Amg::Vector3D & globalPosition() const override
Returns the global position.
int m_ambiguityFlag
Trigger ambiguities.
RpcPrepData(RpcPrepData &&) noexcept=default
int triggerInfo() const
Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.
int m_triggerInfo
usually false, unless ijk>5 or highpt&&ijk==0
const MuonGM::RpcReadoutElement * m_detEl
Cached pointer to the detector element - should never be zero.
virtual Trk::PrepRawDataType prdType() const override
Interface method returning the prdType.
RpcPrepData()=default
int ambiguityFlag() const
Returns the number of ambiguities associated with this RpcPrepData.
float time() const
Returns the time.
float m_timeOverThreshold
time over threshold (BIS78 chips only)
RpcPrepData(const RpcPrepData &)=default
Create derived converter to customize the saving of identifiable container.
const Amg::Vector2D & localPosition() const
return the local position reference
Identifier identify() const
return the identifier
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const =0
Specified by each surface type: LocalToGlobal method without dynamic memory allocation.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
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
STL namespace.