ATLAS Offline Software
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 
26 namespace Muon
27 {
28 
29  class RpcRdoToPrepDataToolMT;
30  class RpcPrepDataContainerCnv_p1;
31  class RpcPrepDataContainerCnv_p2;
32 
34 class RpcPrepData : public MuonCluster
35 {
36 
38 
40  // Public methods:
42 public:
43 
44  friend class ::RpcPrepDataContainerCnv;
47 
48  RpcPrepData() = default;
49  RpcPrepData(const RpcPrepData &) = default;
52  RpcPrepData &operator=(RpcPrepData &&) noexcept = default;
53 
54 
68  const IdentifierHash &idDE,
69  const Amg::Vector2D& locpos,
71  const Amg::MatrixX& locErrMat,
72  const MuonGM::RpcReadoutElement* detEl,
73  const float time,
74  const int triggerInfo,
75  const int ambiguityFlag);
77  const IdentifierHash &idDE,
78  const Amg::Vector2D& locpos,
79  std::vector<Identifier>&& rdoList,
80  Amg::MatrixX&& locErrMat,
81  const MuonGM::RpcReadoutElement* detEl,
82  const float time,
83  const int triggerInfo,
84  const int ambiguityFlag);
87  const IdentifierHash &idDE,
88  const Amg::Vector2D& locpos,
90  const Amg::MatrixX& locErrMat,
91  const MuonGM::RpcReadoutElement* detEl,
92  const float time,
93  const float timeOverThresh,
94  const int triggerInfo,
95  const int ambiguityFlag);
97  const IdentifierHash &idDE,
98  const Amg::Vector2D& locpos,
99  std::vector<Identifier>&& rdoList,
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 
109  RpcPrepData( const Identifier& RDOId,
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);
117  RpcPrepData( const Identifier& RDOId,
118  const IdentifierHash &idDE,
119  const Amg::Vector2D& locpos,
120  std::vector<Identifier>&& rdoList,
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 
165 private:
166 
169 
172  float m_time{0.f};
173 
177  float m_timeOverThreshold{-1.f};
178 
187 
188 
189 
190 };
191 
193 // Inline methods:
195 
196 inline float RpcPrepData::time() const
197 {
198  return m_time;
199 }
200 
202 {
203  return m_detEl;
204 }
205 
206 inline int RpcPrepData::triggerInfo() const
207 {
208  return m_triggerInfo;
209 }
210 
211 inline int RpcPrepData::ambiguityFlag() const
212 {
213  return m_ambiguityFlag;
214 }
215 inline float RpcPrepData::timeOverThreshold() const { return m_timeOverThreshold; }
216 
218  {
219  if (!m_globalPosition) {
220  m_globalPosition.set(std::make_unique<const Amg::Vector3D>(
223  }
224  return *m_globalPosition;
225  }
226 }
227 
228 #endif // MUONPREPRAWDATA_RPCPREPDATA_H
229 
MuonCluster.h
Muon::RpcPrepData::m_detEl
const MuonGM::RpcReadoutElement * m_detEl
Cached pointer to the detector element - should never be zero.
Definition: RpcPrepData.h:168
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
Trk::PrepRawDataType
PrepRawDataType
Definition: PrepRawData.h:39
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
Surface.h
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
Muon::RpcPrepData::globalPosition
virtual const Amg::Vector3D & globalPosition() const override
Returns the global position.
Definition: RpcPrepData.h:217
Muon::RpcPrepData::timeOverThreshold
float timeOverThreshold() const
Returns the time over threshold.
Definition: RpcPrepData.h:215
Muon::RpcPrepData::m_timeOverThreshold
float m_timeOverThreshold
time over threshold (BIS78 chips only)
Definition: RpcPrepData.h:177
Trk::PrepRawData::rdoList
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
MuonGM::RpcReadoutElement
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h:55
Muon::RpcRdoToPrepDataToolMT
Definition: RpcRdoToPrepDataToolMT.h:32
Muon::RpcPrepData::m_time
float m_time
Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the R...
Definition: RpcPrepData.h:172
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Trk::PrepRawDataType::RpcPrepData
@ RpcPrepData
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
MuonGM::MuonClusterReadoutElement::surface
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
Definition: MuonClusterReadoutElement.h:123
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
Muon::RpcPrepData::time
float time() const
Returns the time.
Definition: RpcPrepData.h:196
Muon::RpcPrepData::prdType
virtual Trk::PrepRawDataType prdType() const override
Interface method returning the prdType.
Definition: RpcPrepData.h:143
RpcPrepDataContainerCnv
Create derived converter to customize the saving of identifiable container.
Definition: RpcPrepDataContainerCnv.h:27
Muon::RpcPrepData
Class to represent RPC measurements.
Definition: RpcPrepData.h:35
Muon::RpcPrepData::detectorElement
virtual const MuonGM::RpcReadoutElement * detectorElement() const override final
Returns the detector element corresponding to this PRD.
Definition: RpcPrepData.h:201
vector
Definition: MultiHisto.h:13
Muon::RpcPrepDataContainerCnv_p2
Definition: RpcPrepDataContainerCnv_p2.h:28
Muon::RpcPrepData::dump
virtual MsgStream & dump(MsgStream &stream) const override
Dumps information about the PRD.
Definition: RpcPrepData.cxx:119
Muon::RpcPrepData::triggerInfo
int triggerInfo() const
Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.
Definition: RpcPrepData.h:206
Muon::RpcPrepData::m_triggerInfo
int m_triggerInfo
usually false, unless ijk>5 or highpt&&ijk==0
Definition: RpcPrepData.h:181
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
Trk::PrepRawData::localPosition
const Amg::Vector2D & localPosition() const
return the local position reference
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Muon::RpcPrepDataContainerCnv_p1
Definition: RpcPrepDataContainerCnv_p1.h:27
Muon::RpcPrepData::RpcPrepData
RpcPrepData(const RpcPrepData &)=default
Muon::RpcPrepData::m_ambiguityFlag
int m_ambiguityFlag
Trigger ambiguities.
Definition: RpcPrepData.h:186
python.CaloAddPedShiftConfig.default
default
Definition: CaloAddPedShiftConfig.py:43
Muon::RpcPrepData::RpcPrepData
RpcPrepData(RpcPrepData &&) noexcept=default
Muon::MuonCluster::m_globalPosition
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
Global position of measurement.
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h:89
Muon::MuonCluster
Class representing clusters in the muon system.
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h:37
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
Muon::RpcPrepData::ambiguityFlag
int ambiguityFlag() const
Returns the number of ambiguities associated with this RpcPrepData.
Definition: RpcPrepData.h:211
Muon::RpcPrepData::RpcPrepData
RpcPrepData()=default
Trk::Surface::localToGlobal
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.
RpcReadoutElement.h
Identifier
Definition: IdentifierFieldParser.cxx:14