ATLAS Offline Software
Loading...
Searching...
No Matches
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
30namespace Muon
31{
32
34
38class CscPrepData final: public MuonCluster
39{
40
41 // /////////////////////////////////////////////////////////////////
42 // Public methods:
43 // /////////////////////////////////////////////////////////////////
44 public:
45
46 friend class ::CscPrepDataContainerCnv;
48
50 CscPrepData(const CscPrepData &) = default;
51 CscPrepData(CscPrepData &&) noexcept = default;
52 CscPrepData &operator=(const CscPrepData &) = default;
53 CscPrepData &operator=(CscPrepData &&) noexcept = default;
54
55
71 const Amg::Vector2D& locpos,
73 const Amg::MatrixX& locErrMat,
75 const int charge,
76 const double time,
79 );
80
83 const Amg::Vector2D& locpos,
85 Amg::MatrixX&& locErrMat,
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
126
128 virtual MsgStream& dump( MsgStream& stream) const override final;
129
131 virtual std::ostream& dump( std::ostream& stream) const override final;
132
133private:
134
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>(
177 m_detEl->surface(identify())
179 }
180
182 return *m_globalPosition;
183 }
184
185}
186
187#endif // MUONPREPRAWDATA_CSCPREPDATA_H
188
Eigen::Matrix< double, 3, 1 > Vector3D
Create derived converter to customize the saving of identifiable container.
This is a "hash" representation of an Identifier.
CscTimeStatus m_timeStatus
CscTimeStatus timeStatus() const
Returns the Csc time status flag.
virtual const Amg::Vector3D & globalPosition() const override final
Returns the global position.
virtual const MuonGM::CscReadoutElement * detectorElement() const override final
Return the detector element corresponding to this PRD.
CscClusterStatus m_status
double time() const
Returns the time.
const MuonGM::CscReadoutElement * m_detEl
Pointer to the detector element.
int charge() const
Returns the charge.
CscPrepData(const CscPrepData &)=default
virtual Trk::PrepRawDataType prdType() const override final
Interface method returning the prdType.
CscPrepData(CscPrepData &&) noexcept=default
CscClusterStatus status() const
Returns the Csc status (position measurement) flag.
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
Global position of measurement.
class thrown in the event of an variable not being defined.
Definition PrepRawData.h:59
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.
CscClusterStatus
Enum to represent the cluster status - see the specific enum values for more details.
CscTimeStatus
Enum to represent the cluster time measurement status - see the specific enum values for more details...
@ CscTimeStatusUndefined
Time is not assessed indicating potential bug.
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file
STL namespace.