ATLAS Offline Software
CscPrepData.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 // CscPrepPdata.h
7 // Header file for class CscPrepData
9 // (c) ATLAS Detector software
11 // Class to implement Cluster for Muon - CSC
13 // Version 1.0 03/29/2005 Ketevi A. Assamagan
15 
16 #ifndef MUONPREPRAWDATA_CSCPREPDATA_H
17 #define MUONPREPRAWDATA_CSCPREPDATA_H
18 
19 // Base classes
21 #include "TrkSurfaces/Surface.h"
25 
26 #include<vector>
27 
29 
30 namespace Muon
31 {
32 
33  class CscPrepDataContainerCnv_p1;
34 
39 {
40 
41  // /////////////////////////////////////////////////////////////////
42  // Public methods:
43  // /////////////////////////////////////////////////////////////////
44  public:
45 
46  friend class ::CscPrepDataContainerCnv;
48 
49  CscPrepData();
50  CscPrepData(const CscPrepData &) = default;
53  CscPrepData &operator=(CscPrepData &&) noexcept = default;
54 
55 
70  const IdentifierHash &idDE,
71  const Amg::Vector2D& locpos,
73  const Amg::MatrixX& locErrMat,
74  const MuonGM::CscReadoutElement* detEl,
75  const int charge,
76  const double time,
79  );
80 
82  const IdentifierHash &idDE,
83  const Amg::Vector2D& locpos,
84  std::vector<Identifier>&& rdoList,
85  Amg::MatrixX&& locErrMat,
86  const MuonGM::CscReadoutElement* detEl,
87  const int charge,
88  const double time,
91  );
92 
93 
95  virtual ~CscPrepData();
96 
98  // Virtual methods
100 
102  virtual const Amg::Vector3D& globalPosition() const override final;
103 
107  virtual const MuonGM::CscReadoutElement* detectorElement() const override final;
108 
110  virtual Trk::PrepRawDataType prdType() const override final {
112  }
113 
115 
116  int charge() const;
117 
119  double time() const;
120 
122  CscClusterStatus status() const;
123 
125  CscTimeStatus timeStatus() const;
126 
128  virtual MsgStream& dump( MsgStream& stream) const override final;
129 
131  virtual std::ostream& dump( std::ostream& stream) const override final;
132 
133 private:
134 
137  int m_charge;
138  double m_time;
141 };
142 
144  // Inline methods:
146 
148  {
149  return m_detEl;
150  }
151 
152  inline int CscPrepData::charge() const
153  {
154  return m_charge;
155  }
156 
157  inline double CscPrepData::time() const
158  {
159  return m_time;
160  }
161 
163  {
164  return m_status;
165  }
166 
168  {
169  return m_timeStatus;
170  }
171 
172  // return globalPosition:
174  {
175  if (not m_globalPosition) {
176  m_globalPosition.set(std::make_unique<const Amg::Vector3D>(
179  }
180 
182  return *m_globalPosition;
183  }
184 
185 }
186 
187 #endif // MUONPREPRAWDATA_CSCPREPDATA_H
188 
Muon::CscPrepData::m_detEl
const MuonGM::CscReadoutElement * m_detEl
Pointer to the detector element.
Definition: CscPrepData.h:136
Muon::CscPrepData::dump
virtual MsgStream & dump(MsgStream &stream) const override final
Dumps information about the PRD.
Definition: CscPrepData.cxx:74
MuonCluster.h
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
Muon::CscPrepDataContainerCnv_p1
Definition: CscPrepDataContainerCnv_p1.h:28
Surface.h
Muon::CscPrepData::charge
int charge() const
Returns the charge.
Definition: CscPrepData.h:152
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
CscPrepDataContainerCnv
Create derived converter to customize the saving of identifiable container.
Definition: CscPrepDataContainerCnv.h:28
Trk::PrepRawData::rdoList
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
Muon::CscPrepData::prdType
virtual Trk::PrepRawDataType prdType() const override final
Interface method returning the prdType.
Definition: CscPrepData.h:110
MuonGM::CscReadoutElement
Definition: CscReadoutElement.h:56
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
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
Trk::PrepRawDataType::CscPrepData
@ CscPrepData
Muon::CscPrepData::timeStatus
CscTimeStatus timeStatus() const
Returns the Csc time status flag.
Definition: CscPrepData.h:167
Muon::CscPrepData::m_timeStatus
CscTimeStatus m_timeStatus
Definition: CscPrepData.h:140
CscTimeStatus.h
Muon::CscPrepData
Class representing clusters from the CSC.
Definition: CscPrepData.h:39
vector
Definition: MultiHisto.h:13
Muon::CscPrepData::CscPrepData
CscPrepData(CscPrepData &&) noexcept=default
Muon::CscPrepData::globalPosition
virtual const Amg::Vector3D & globalPosition() const override final
Returns the global position.
Definition: CscPrepData.h:173
Muon::CscPrepData::status
CscClusterStatus status() const
Returns the Csc status (position measurement) flag.
Definition: CscPrepData.h:162
CscReadoutElement.h
Muon::CscPrepData::time
double time() const
Returns the time.
Definition: CscPrepData.h:157
Muon::CscPrepData::m_status
CscClusterStatus m_status
Definition: CscPrepData.h:139
Muon::CscPrepData::CscPrepData
CscPrepData(const CscPrepData &)=default
columnar::final
CM final
Definition: ColumnAccessor.h:106
Muon::CscPrepData::m_charge
int m_charge
Definition: CscPrepData.h:137
CscClusterStatus.h
Muon::CscPrepData::m_time
double m_time
Definition: CscPrepData.h:138
Muon::CscPrepData::detectorElement
virtual const MuonGM::CscReadoutElement * detectorElement() const override final
Return the detector element corresponding to this PRD.
Definition: CscPrepData.h:147
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::CscPrepData::CscPrepData
CscPrepData()
Definition: CscPrepData.cxx:64
python.CaloAddPedShiftConfig.default
default
Definition: CaloAddPedShiftConfig.py:43
Muon::CscTimeStatusUndefined
@ CscTimeStatusUndefined
Time is not assessed indicating potential bug.
Definition: CscTimeStatus.h:39
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
Muon::CscClusterStatus
CscClusterStatus
Enum to represent the cluster status - see the specific enum values for more details.
Definition: CscClusterStatus.h:23
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
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.
Trk::PrepRawDataUndefinedVariable
class thrown in the event of an variable not being defined.
Definition: PrepRawData.h:59
Muon::CscTimeStatus
CscTimeStatus
Enum to represent the cluster time measurement status - see the specific enum values for more details...
Definition: CscTimeStatus.h:24
Identifier
Definition: IdentifierFieldParser.cxx:14