ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::RpcCoinData Class Reference

#include <RpcCoinData.h>

Inheritance diagram for Muon::RpcCoinData:
Collaboration diagram for Muon::RpcCoinData:

Public Member Functions

 RpcCoinData ()
 Public, Copy, operator=, constructor.
 RpcCoinData (const RpcCoinData &)
 RpcCoinData (RpcCoinData &&) noexcept
RpcCoinDataoperator= (const RpcCoinData &)
RpcCoinDataoperator= (RpcCoinData &&) noexcept
virtual MsgStream & dump (MsgStream &stream) const
 Dumps information about the RpcCoinData.
virtual std::ostream & dump (std::ostream &stream) const
 Dumps information about the PRD.
 RpcCoinData (const Identifier &stripId, const IdentifierHash &idDE, const Amg::Vector2D &locpos, const std::vector< Identifier > &stripList, const Amg::MatrixX &locErrMat, const MuonGM::RpcReadoutElement *detEl, const float time, const unsigned short ambiguityFlag, const unsigned short ijk, const unsigned short threshold, const unsigned short overlap, const unsigned short parent_cmId, const unsigned short parent_padId, const unsigned short parent_sectorId, const bool lowPtCm)
 Constructor:
virtual ~RpcCoinData ()
 Destructor:
unsigned short ijk () const
 return ijk of the trigger hit (can be 6, 7 or 0)
unsigned short threshold () const
 return highest threshold for the trigger pattern this hit is contributing
unsigned short overlap () const
 return the overlap flag
unsigned short parentCmId () const
 parent ID (online-style) of CM, PAD and Sector
unsigned short parentPadId () const
unsigned short parentSectorId () const
bool isAside () const
 Aside or Cside.
bool isLowPtCoin () const
 Low Pt, High Pt or Low Pt input to High Pt CM.
bool isHighPtCoin () const
bool isLowPtInputToHighPtCm () const
bool lowPtCm () const
float time () const
 Returns the time.
virtual const Amg::Vector3DglobalPosition () const override
 Returns the global position.
virtual const MuonGM::RpcReadoutElementdetectorElement () const override final
 Returns the detector element corresponding to this PRD.
virtual Trk::PrepRawDataType prdType () const override
 Interface method returning the prdType.
int triggerInfo () const
 Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.
int ambiguityFlag () const
 Returns the number of ambiguities associated with this RpcPrepData.
float timeOverThreshold () const
 Returns the time over threshold.
virtual IdentifierHash collectionHash () const
 Returns the IdentifierHash corresponding to the PRD collection in the PRD container.
Identifier identify () const
 return the identifier
const Amg::Vector2DlocalPosition () const
 return the local position reference
const std::vector< Identifier > & rdoList () const
 return the List of rdo identifiers (pointers)
const Amg::MatrixXlocalCovariance () const
 return const ref to the error matrix
bool hasLocalCovariance () const
 returns localCovariance().size()!=0
virtual bool type (PrepRawDataType type) const
 Interface method checking the type.
void setHashAndIndex (unsigned short collHash, unsigned short objIndex)
 TEMP for testing: might make some classes friends later ...
const IdentContIndexgetHashAndIndex () const

Static Public Member Functions

static std::size_t numberOfInstantiations ()

Static Public Attributes

static std::atomic_size_t s_numberOfInstantiations

Protected Attributes

CxxUtils::CachedUniquePtr< const Amg::Vector3Dm_globalPosition
 Global position of measurement.

Private Attributes

unsigned short m_ijk
unsigned short m_threshold
unsigned short m_overlap
unsigned short m_parentCmId
unsigned short m_parentPadId
unsigned short m_parentSectorId
bool m_lowPtCm
const MuonGM::RpcReadoutElementm_detEl {nullptr}
 Cached pointer to the detector element - should never be zero.
float m_time {0.f}
 Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the RPC clock ticks.
float m_timeOverThreshold {-1.f}
 time over threshold (BIS78 chips only)
int m_triggerInfo {0}
 usually false, unless ijk>5 or highpt&&ijk==0
int m_ambiguityFlag {0}
 Trigger ambiguities.
Identifier m_clusId { 0 }
 PrepRawData ID, not const because of DataPool.
Amg::Vector2D m_localPos {}
 see derived classes for definition of meaning of LocalPosition
std::vector< Identifierm_rdoList {}
 Stores the identifiers of the RDOs.
Amg::MatrixX m_localCovariance {}
 See derived classes for definition of ErrorMatrix.
IdentContIndex m_indexAndHash
 Stores its own position (index) in collection plus the hash id for the collection (needed for the EL to IDC)

Friends

class ::RpcCoinDataContainerCnv

Detailed Description

Definition at line 24 of file RpcCoinData.h.

Constructor & Destructor Documentation

◆ RpcCoinData() [1/4]

Muon::RpcCoinData::RpcCoinData ( )

Public, Copy, operator=, constructor.

Definition at line 49 of file RpcCoinData.cxx.

49 :
50 RpcPrepData( ),
51 m_ijk(0),
52 m_threshold(99),
53 m_overlap(99),
54 m_parentCmId(0),
55 m_parentPadId(0),
57 m_lowPtCm(false)
58{ }
unsigned short m_parentSectorId
Definition RpcCoinData.h:96
unsigned short m_threshold
Definition RpcCoinData.h:92
unsigned short m_parentPadId
Definition RpcCoinData.h:95
unsigned short m_parentCmId
Definition RpcCoinData.h:94
unsigned short m_overlap
Definition RpcCoinData.h:93
unsigned short m_ijk
Definition RpcCoinData.h:91
RpcPrepData()=default

◆ RpcCoinData() [2/4]

Muon::RpcCoinData::RpcCoinData ( const RpcCoinData & )
default

◆ RpcCoinData() [3/4]

Muon::RpcCoinData::RpcCoinData ( RpcCoinData && RIO)
noexcept

Definition at line 66 of file RpcCoinData.cxx.

66 :
67 RpcPrepData(std::move(RIO)),
68 m_ijk( RIO.m_ijk ),
69 m_threshold( RIO.m_threshold ),
70 m_overlap( RIO.m_overlap ),
71 m_parentCmId( RIO.m_parentCmId ),
72 m_parentPadId( RIO.m_parentPadId ),
73 m_parentSectorId( RIO.m_parentSectorId ),
74 m_lowPtCm( RIO.m_lowPtCm )
75{ }

◆ RpcCoinData() [4/4]

Muon::RpcCoinData::RpcCoinData ( const Identifier & stripId,
const IdentifierHash & idDE,
const Amg::Vector2D & locpos,
const std::vector< Identifier > & stripList,
const Amg::MatrixX & locErrMat,
const MuonGM::RpcReadoutElement * detEl,
const float time,
const unsigned short ambiguityFlag,
const unsigned short ijk,
const unsigned short threshold,
const unsigned short overlap,
const unsigned short parent_cmId,
const unsigned short parent_padId,
const unsigned short parent_sectorId,
const bool lowPtCm )

Constructor:

Definition at line 19 of file RpcCoinData.cxx.

33 :
34 RpcPrepData(stripId, idDE, locpos, stripList, locErrMat, detEl, time, ambiguityFlag),
35 m_ijk(ijk),
38 m_parentCmId(parent_cmId),
39 m_parentPadId(parent_padId),
40 m_parentSectorId(parent_sectorId),
42{ }
unsigned short ijk() const
return ijk of the trigger hit (can be 6, 7 or 0)
unsigned short threshold() const
return highest threshold for the trigger pattern this hit is contributing
bool lowPtCm() const
unsigned short overlap() const
return the overlap flag
int ambiguityFlag() const
Returns the number of ambiguities associated with this RpcPrepData.
float time() const
Returns the time.

◆ ~RpcCoinData()

Muon::RpcCoinData::~RpcCoinData ( )
virtualdefault

Destructor:

Member Function Documentation

◆ ambiguityFlag()

int Muon::RpcPrepData::ambiguityFlag ( ) const
inlineinherited

Returns the number of ambiguities associated with this RpcPrepData.

  • 0 if the ambiguites have not been removed by choice;
  • 1 if the ambiguities are fully solved
  • i+1 if "i" other MuonPrepRawData are produced along with the current one from a single RDO hit

Definition at line 211 of file RpcPrepData.h.

212{
213 return m_ambiguityFlag;
214}
int m_ambiguityFlag
Trigger ambiguities.

◆ collectionHash()

IdentifierHash MuonCluster::collectionHash ( ) const
inlinevirtualinherited

Returns the IdentifierHash corresponding to the PRD collection in the PRD container.

Definition at line 97 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h.

98 {
99 return getHashAndIndex().collHash();
100 }
unsigned short collHash() const
Accessor to hash, obj index and combined index.
const IdentContIndex & getHashAndIndex() const

◆ detectorElement()

const MuonGM::RpcReadoutElement * Muon::RpcPrepData::detectorElement ( ) const
inlinefinaloverridevirtualinherited

Returns the detector element corresponding to this PRD.

The pointer will be zero if the det el is not defined (i.e. it was not passed in by the ctor)

Implements Trk::PrepRawData.

Definition at line 201 of file RpcPrepData.h.

202{
203 return m_detEl;
204}
const MuonGM::RpcReadoutElement * m_detEl
Cached pointer to the detector element - should never be zero.

◆ dump() [1/2]

MsgStream & Muon::RpcCoinData::dump ( MsgStream & stream) const
virtual

Dumps information about the RpcCoinData.

Reimplemented from Muon::RpcPrepData.

Definition at line 113 of file RpcCoinData.cxx.

114{
115 stream << MSG::INFO<<"RpcCoinData {"<<std::endl;
116
117 RpcPrepData::dump(stream);
118
119 stream<<"ijk = "<<this->ijk()<<", ";
120 stream<<"threshold = "<<this->threshold()<<", ";
121 stream<<"overlap = "<<this->overlap()<<", ";
122 stream<<"parentCmId = "<<this->parentCmId()<<", ";
123 stream<<"parentPadId = "<<this->parentPadId()<<", ";
124 stream<<"parentSectorId = "<<this->parentSectorId()<<", ";
125 stream<<"lowPtCm = "<<this->isLowPtCoin()<<", ";
126 stream<<"lowPtInputToHighPtCm = "<<this->isLowPtInputToHighPtCm()<<", ";
127 stream<<"}"<<endmsg;
128
129 return stream;
130}
#define endmsg
bool isLowPtInputToHighPtCm() const
bool isLowPtCoin() const
Low Pt, High Pt or Low Pt input to High Pt CM.
unsigned short parentPadId() const
unsigned short parentCmId() const
parent ID (online-style) of CM, PAD and Sector
unsigned short parentSectorId() const
virtual MsgStream & dump(MsgStream &stream) const override
Dumps information about the PRD.

◆ dump() [2/2]

std::ostream & Muon::RpcCoinData::dump ( std::ostream & stream) const
virtual

Dumps information about the PRD.

Reimplemented from Muon::RpcPrepData.

Definition at line 132 of file RpcCoinData.cxx.

133{
134 stream <<"RpcCoinData {"<<std::endl;
135
136 RpcPrepData::dump(stream);
137
138 stream<<"ijk = "<<this->ijk()<<", ";
139 stream<<"threshold = "<<this->threshold()<<", ";
140 stream<<"overlap = "<<this->overlap()<<", ";
141 stream<<"parentCmId = "<<this->parentCmId()<<", ";
142 stream<<"parentPadId = "<<this->parentPadId()<<", ";
143 stream<<"parentSectorId = "<<this->parentSectorId()<<", ";
144 stream<<"lowPtCm = "<<this->isLowPtCoin()<<", ";
145 stream<<"lowPtInputToHighPtCm = "<<this->isLowPtInputToHighPtCm()<<", ";
146 stream<<"}"<<std::endl;
147
148 return stream;
149}

◆ getHashAndIndex()

const IdentContIndex & Trk::PrepRawData::getHashAndIndex ( ) const
inherited

◆ globalPosition()

const Amg::Vector3D & Muon::RpcPrepData::globalPosition ( ) const
inlineoverridevirtualinherited

Returns the global position.

Implements Muon::MuonCluster.

Definition at line 217 of file RpcPrepData.h.

218 {
219 if (!m_globalPosition) {
220 m_globalPosition.set(std::make_unique<const Amg::Vector3D>(
221 m_detEl->surface(identify())
223 }
224 return *m_globalPosition;
225 }
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
Global position of measurement.
const Amg::Vector2D & localPosition() const
return the local position reference
Identifier identify() const
return the identifier
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.

◆ hasLocalCovariance()

bool Trk::PrepRawData::hasLocalCovariance ( ) const
inherited

returns localCovariance().size()!=0

◆ identify()

Identifier Trk::PrepRawData::identify ( ) const
inherited

return the identifier

◆ ijk()

unsigned short Muon::RpcCoinData::ijk ( ) const
inline

return ijk of the trigger hit (can be 6, 7 or 0)

Definition at line 105 of file RpcCoinData.h.

105{return m_ijk;}

◆ isAside()

bool Muon::RpcCoinData::isAside ( ) const

Aside or Cside.

◆ isHighPtCoin()

bool Muon::RpcCoinData::isHighPtCoin ( ) const

Definition at line 154 of file RpcCoinData.cxx.

155{
156 return (!m_lowPtCm) && m_ijk == 6;
157}

◆ isLowPtCoin()

bool Muon::RpcCoinData::isLowPtCoin ( ) const

Low Pt, High Pt or Low Pt input to High Pt CM.

Definition at line 150 of file RpcCoinData.cxx.

151{
152 return m_lowPtCm && m_ijk == 6;
153}

◆ isLowPtInputToHighPtCm()

bool Muon::RpcCoinData::isLowPtInputToHighPtCm ( ) const

Definition at line 158 of file RpcCoinData.cxx.

159{
160 return m_ijk == 0;
161}

◆ localCovariance()

const Amg::MatrixX & Trk::PrepRawData::localCovariance ( ) const
inherited

return const ref to the error matrix

◆ localPosition()

const Amg::Vector2D & Trk::PrepRawData::localPosition ( ) const
inherited

return the local position reference

◆ lowPtCm()

bool Muon::RpcCoinData::lowPtCm ( ) const
inline

Definition at line 117 of file RpcCoinData.h.

117{return m_lowPtCm;}

◆ numberOfInstantiations()

std::size_t Trk::ObjectCounter< Trk::PrepRawData >::numberOfInstantiations ( )
inlinestaticinherited

Definition at line 25 of file TrkObjectCounter.h.

26 {
27#ifndef NDEBUG
28 return s_numberOfInstantiations.load();
29#endif
30 return 0;
31 }
Helper to enable counting number of instantiations in debug builds.

◆ operator=() [1/2]

RpcCoinData & Muon::RpcCoinData::operator= ( const RpcCoinData & RIO)

Definition at line 78 of file RpcCoinData.cxx.

79{
80 if(&RIO !=this)
81 {
83 m_ijk = RIO.m_ijk;
84 m_threshold = RIO.m_threshold;
85 m_overlap = RIO.m_overlap;
86 m_parentCmId = RIO.m_parentCmId;
87 m_parentPadId = RIO.m_parentPadId;
88 m_parentSectorId = RIO.m_parentSectorId;
89 m_lowPtCm = RIO.m_lowPtCm;
90 }
91 return *this;
92}
RpcPrepData & operator=(const RpcPrepData &)=default

◆ operator=() [2/2]

RpcCoinData & Muon::RpcCoinData::operator= ( RpcCoinData && RIO)
noexcept

Definition at line 95 of file RpcCoinData.cxx.

96 {
97 if(&RIO !=this)
98 {
99 m_ijk = RIO.m_ijk;
100 m_threshold = RIO.m_threshold;
101 m_overlap = RIO.m_overlap;
102 m_parentCmId = RIO.m_parentCmId;
103 m_parentPadId = RIO.m_parentPadId;
104 m_parentSectorId = RIO.m_parentSectorId;
105 m_lowPtCm = RIO.m_lowPtCm;
106 RpcPrepData::operator=(std::move(RIO));
107 }
108 return *this;
109}

◆ overlap()

unsigned short Muon::RpcCoinData::overlap ( ) const
inline

return the overlap flag

Definition at line 111 of file RpcCoinData.h.

111{return m_overlap;}

◆ parentCmId()

unsigned short Muon::RpcCoinData::parentCmId ( ) const
inline

parent ID (online-style) of CM, PAD and Sector

Definition at line 114 of file RpcCoinData.h.

114{return m_parentCmId;}

◆ parentPadId()

unsigned short Muon::RpcCoinData::parentPadId ( ) const
inline

Definition at line 115 of file RpcCoinData.h.

115{return m_parentPadId;}

◆ parentSectorId()

unsigned short Muon::RpcCoinData::parentSectorId ( ) const
inline

Definition at line 116 of file RpcCoinData.h.

116{return m_parentSectorId;}

◆ prdType()

virtual Trk::PrepRawDataType Muon::RpcPrepData::prdType ( ) const
inlineoverridevirtualinherited

Interface method returning the prdType.

Implements Trk::PrepRawData.

Definition at line 143 of file RpcPrepData.h.

◆ rdoList()

const std::vector< Identifier > & Trk::PrepRawData::rdoList ( ) const
inherited

return the List of rdo identifiers (pointers)

◆ setHashAndIndex()

void Trk::PrepRawData::setHashAndIndex ( unsigned short collHash,
unsigned short objIndex )
inherited

TEMP for testing: might make some classes friends later ...

◆ threshold()

unsigned short Muon::RpcCoinData::threshold ( ) const
inline

return highest threshold for the trigger pattern this hit is contributing

Definition at line 108 of file RpcCoinData.h.

108{return m_threshold;}

◆ time()

float Muon::RpcPrepData::time ( ) const
inlineinherited

Returns the time.

Definition at line 196 of file RpcPrepData.h.

197{
198 return m_time;
199}
float m_time
Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the R...

◆ timeOverThreshold()

float Muon::RpcPrepData::timeOverThreshold ( ) const
inlineinherited

Returns the time over threshold.

Definition at line 215 of file RpcPrepData.h.

215{ return m_timeOverThreshold; }
float m_timeOverThreshold
time over threshold (BIS78 chips only)

◆ triggerInfo()

int Muon::RpcPrepData::triggerInfo ( ) const
inlineinherited

Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.

Definition at line 206 of file RpcPrepData.h.

207{
208 return m_triggerInfo;
209}
int m_triggerInfo
usually false, unless ijk>5 or highpt&&ijk==0

◆ type()

virtual bool Trk::PrepRawData::type ( PrepRawDataType type) const
inlinevirtualinherited

Interface method checking the type.

Reimplemented in InDet::PixelCluster, and InDet::SCT_Cluster.

Definition at line 133 of file PrepRawData.h.

133 {
134 return prdType() == type;
135 }
virtual bool type(PrepRawDataType type) const
Interface method checking the type.
virtual PrepRawDataType prdType() const =0
Interface method returning the prdType.

◆ ::RpcCoinDataContainerCnv

friend class ::RpcCoinDataContainerCnv
friend

Definition at line 32 of file RpcCoinData.h.

Member Data Documentation

◆ m_ambiguityFlag

int Muon::RpcPrepData::m_ambiguityFlag {0}
privateinherited

Trigger ambiguities.

  • 0 if the ambiguites have not been removed by choice;
  • 1 if the ambiguities are fully solved
  • i+1 if "i" other preprawdata are produced along with the current one from a single RDO hit

Definition at line 186 of file RpcPrepData.h.

186{0};

◆ m_clusId

Identifier Trk::PrepRawData::m_clusId { 0 }
privateinherited

PrepRawData ID, not const because of DataPool.

Definition at line 156 of file PrepRawData.h.

156{ 0 };

◆ m_detEl

const MuonGM::RpcReadoutElement* Muon::RpcPrepData::m_detEl {nullptr}
privateinherited

Cached pointer to the detector element - should never be zero.

Definition at line 168 of file RpcPrepData.h.

168{nullptr};

◆ m_globalPosition

CxxUtils::CachedUniquePtr<const Amg::Vector3D> Muon::MuonCluster::m_globalPosition
protectedinherited

Global position of measurement.

Calculated on demand and cached

Definition at line 89 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h.

◆ m_ijk

unsigned short Muon::RpcCoinData::m_ijk
private

Definition at line 91 of file RpcCoinData.h.

◆ m_indexAndHash

IdentContIndex Trk::PrepRawData::m_indexAndHash
privateinherited

Stores its own position (index) in collection plus the hash id for the collection (needed for the EL to IDC)

Definition at line 167 of file PrepRawData.h.

◆ m_localCovariance

Amg::MatrixX Trk::PrepRawData::m_localCovariance {}
privateinherited

See derived classes for definition of ErrorMatrix.

Definition at line 163 of file PrepRawData.h.

163{};

◆ m_localPos

Amg::Vector2D Trk::PrepRawData::m_localPos {}
privateinherited

see derived classes for definition of meaning of LocalPosition

Definition at line 159 of file PrepRawData.h.

159{};

◆ m_lowPtCm

bool Muon::RpcCoinData::m_lowPtCm
private

Definition at line 97 of file RpcCoinData.h.

◆ m_overlap

unsigned short Muon::RpcCoinData::m_overlap
private

Definition at line 93 of file RpcCoinData.h.

◆ m_parentCmId

unsigned short Muon::RpcCoinData::m_parentCmId
private

Definition at line 94 of file RpcCoinData.h.

◆ m_parentPadId

unsigned short Muon::RpcCoinData::m_parentPadId
private

Definition at line 95 of file RpcCoinData.h.

◆ m_parentSectorId

unsigned short Muon::RpcCoinData::m_parentSectorId
private

Definition at line 96 of file RpcCoinData.h.

◆ m_rdoList

std::vector<Identifier> Trk::PrepRawData::m_rdoList {}
privateinherited

Stores the identifiers of the RDOs.

Definition at line 161 of file PrepRawData.h.

161{};

◆ m_threshold

unsigned short Muon::RpcCoinData::m_threshold
private

Definition at line 92 of file RpcCoinData.h.

◆ m_time

float Muon::RpcPrepData::m_time {0.f}
privateinherited

Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the RPC clock ticks.

(as bcid*25+ticks*3.125).

Definition at line 172 of file RpcPrepData.h.

172{0.f};

◆ m_timeOverThreshold

float Muon::RpcPrepData::m_timeOverThreshold {-1.f}
privateinherited

time over threshold (BIS78 chips only)

Definition at line 177 of file RpcPrepData.h.

177{-1.f};

◆ m_triggerInfo

int Muon::RpcPrepData::m_triggerInfo {0}
privateinherited

usually false, unless ijk>5 or highpt&&ijk==0

Definition at line 181 of file RpcPrepData.h.

181{0};

◆ s_numberOfInstantiations

std::atomic_size_t Trk::ObjectCounter< Trk::PrepRawData >::s_numberOfInstantiations
inlinestaticinherited

Definition at line 22 of file TrkObjectCounter.h.


The documentation for this class was generated from the following files: