ATLAS Offline Software
CscPrepData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 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 
38 class CscPrepData final: public MuonCluster
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 bool type(Trk::PrepRawDataType type) const override final
111  {
113  }
114 
116 
117  int charge() const;
118 
120  double time() const;
121 
123  CscClusterStatus status() const;
124 
126  CscTimeStatus timeStatus() const;
127 
129  virtual MsgStream& dump( MsgStream& stream) const override final;
130 
132  virtual std::ostream& dump( std::ostream& stream) const override final;
133 
134 private:
135 
138  int m_charge;
139  double m_time;
142 };
143 
145  // Inline methods:
147 
149  {
150  return m_detEl;
151  }
152 
153  inline int CscPrepData::charge() const
154  {
155  return m_charge;
156  }
157 
158  inline double CscPrepData::time() const
159  {
160  return m_time;
161  }
162 
164  {
165  return m_status;
166  }
167 
169  {
170  return m_timeStatus;
171  }
172 
173  // return globalPosition:
175  {
176  if (not m_globalPosition) {
177  m_globalPosition.set(std::make_unique<const Amg::Vector3D>(
180  }
181 
183  return *m_globalPosition;
184  }
185 
186 }
187 
188 #endif // MUONPREPRAWDATA_CSCPREPDATA_H
189 
Muon::CscPrepData::m_detEl
const MuonGM::CscReadoutElement * m_detEl
Pointer to the detector element.
Definition: CscPrepData.h:137
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:29
Muon::CscPrepDataContainerCnv_p1
Definition: CscPrepDataContainerCnv_p1.h:29
Surface.h
Muon::CscPrepData::charge
int charge() const
Returns the charge.
Definition: CscPrepData.h:153
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::type
virtual bool type(Trk::PrepRawDataType type) const override final
Interface method checking the type.
Definition: CscPrepData.h:110
MuonGM::CscReadoutElement
Definition: CscReadoutElement.h:56
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
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:168
Muon::CscPrepData::m_timeStatus
CscTimeStatus m_timeStatus
Definition: CscPrepData.h:141
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
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:174
Muon::CscPrepData::status
CscClusterStatus status() const
Returns the Csc status (position measurement) flag.
Definition: CscPrepData.h:163
CscReadoutElement.h
Muon::CscPrepData::time
double time() const
Returns the time.
Definition: CscPrepData.h:158
Muon::CscPrepData::m_status
CscClusterStatus m_status
Definition: CscPrepData.h:140
Muon::CscPrepData::CscPrepData
CscPrepData(const CscPrepData &)=default
Muon::CscPrepData::m_charge
int m_charge
Definition: CscPrepData.h:138
CscClusterStatus.h
Muon::CscPrepData::m_time
double m_time
Definition: CscPrepData.h:139
Muon::CscPrepData::detectorElement
virtual const MuonGM::CscReadoutElement * detectorElement() const override final
Return the detector element corresponding to this PRD.
Definition: CscPrepData.h:148
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
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:96
Muon::MuonCluster
Class representing clusters in the muon system.
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h:37
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
Muon::CscClusterStatus
CscClusterStatus
Enum to represent the cluster status - see the specific enum values for more details.
Definition: CscClusterStatus.h:23
IdentifierHash
Definition: IdentifierHash.h:38
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