ATLAS Offline Software
Loading...
Searching...
No Matches
MdtPrepData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// MdtPrepData.h
7// Header file for class MdtPrepData
9// (c) ATLAS Detector software
11// Class to implement DriftCircle for Muons
12#ifndef MUONPREPDATA_MDTPREPDATA_H
13#define MUONPREPDATA_MDTPREPDATA_H
14
15// Base classes
23
25
26namespace Muon
27{
28
30
33{
34
36 // Public methods:
38public:
39
40 friend class ::MdtPrepDataContainerCnv;
42
43
45 MdtPrepData(const MdtPrepData &);
46 MdtPrepData(MdtPrepData &&) noexcept;
47 MdtPrepData &operator=(const MdtPrepData &);
48 MdtPrepData &operator=(MdtPrepData &&) noexcept;
49
61 const Amg::Vector2D& driftRadius,
62 const Amg::MatrixX& errDriftRadius,
63 const MuonGM::MdtReadoutElement* detEl,
64 const int tdc,
65 const int adc,
67
69 virtual ~MdtPrepData();
70
74
77 virtual const MuonGM::MdtReadoutElement* detectorElement() const override;
78
80 virtual Trk::PrepRawDataType prdType() const override {
82 }
83
85 unsigned int dimension() const {
86 return localCovariance().rows();
87 }
88
90 int tdc() const;
91
93 int adc() const;
94
97
99 virtual IdentifierHash collectionHash() const;
100
102 virtual MsgStream& dump( MsgStream& stream) const override;
103
105 virtual std::ostream& dump( std::ostream& stream) const override;
106
107private:
110
112 int m_tdc{0};
113
115 int m_adc{0};
116
118 MdtDriftCircleStatus m_status{MdtDriftCircleStatus::MdtStatusUnDefined};
119
120protected :
121
125
126};
127
129// Inline methods:
131
132// return globalPosition:
134 if (!m_globalPosition) {
135 m_globalPosition.set(std::make_unique<Amg::Vector3D>(m_detEl->surface(identify()).center()));
136 }
137 return *m_globalPosition;
138}
139
140
142 return m_detEl;
143}
144
145inline int MdtPrepData::tdc() const { return m_tdc; }
146inline int MdtPrepData::adc() const { return m_adc; }
151
152}
153
154#endif // MUONPREPDATA_MDTPREPDATA_H
155
156
Cached unique_ptr with atomic update.
#define protected
Eigen::Matrix< double, 3, 1 > Vector3D
unsigned short collHash() const
Accessor to hash, obj index and combined index.
This is a "hash" representation of an Identifier.
Create derived converter to customize the saving of identifiable container.
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
Global position of measurement.
int m_adc
ADC value - typical ADC spectra can go from 0 up to 250.
const MuonGM::MdtReadoutElement * m_detEl
Cached pointer to detector element (not deleted in destructor, not written to disk)
int adc() const
Returns the ADC (typically range is 0 to 250)
virtual const MuonGM::MdtReadoutElement * detectorElement() const override
Returns the detector element corresponding to this PRD.
int m_tdc
TDC value - typical TDC spectra can go from 0 up to 2500.
MdtDriftCircleStatus status() const
Returns the status of the measurement.
MdtDriftCircleStatus m_status
enum to hold 'status' of measurement
virtual const Amg::Vector3D & globalPosition() const
Returns the global position of the CENTER of the drift tube (i.e.
virtual IdentifierHash collectionHash() const
Returns the IdentifierHash corresponding to the Mdt tube which was hit.
virtual Trk::PrepRawDataType prdType() const override
Interface method returning the prdType.
Definition MdtPrepData.h:80
int tdc() const
Returns the TDC (typically range is 0 to 2500).
unsigned int dimension() const
Returns the dimension of the MdtPrepData.
Definition MdtPrepData.h:85
Identifier identify() const
return the identifier
const Amg::MatrixX & localCovariance() const
return const ref to the error matrix
const IdentContIndex & getHashAndIndex() const
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 3, 1 > Vector3D
CachedUniquePtrT< const T > CachedUniquePtr
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.
MdtDriftCircleStatus
Enum to represent the 'status' of Mdt measurements e.g.
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file