ATLAS Offline Software
Loading...
Searching...
No Matches
HGTD_Cluster Class Referencefinal

#include <HGTD_Cluster.h>

Inheritance diagram for HGTD_Cluster:
Collaboration diagram for HGTD_Cluster:

Public Member Functions

 HGTD_Cluster ()
 HGTD_Cluster (const HGTD_Cluster &)=default
HGTD_Clusteroperator= (const HGTD_Cluster &)=default
 HGTD_Cluster (HGTD_Cluster &&)=default
HGTD_Clusteroperator= (HGTD_Cluster &&)=default
virtual ~HGTD_Cluster ()=default
 HGTD_Cluster (const Identifier &rdo_id, const Amg::Vector2D &loc_pos, std::vector< Identifier > &&rdo_list, const InDet::SiWidth &width, const InDetDD::SolidStateDetectorElementBase *det_el, Amg::MatrixX &&loc_err_matx, const float time_of_arrival, const float time_of_arrival_err, std::vector< int > &&time_over_threshold)
virtual const InDet::SiWidthwidth () const
virtual const Amg::Vector3DglobalPosition () const
virtual const InDetDD::SolidStateDetectorElementBasedetectorElement () const override
 return the detector element corresponding to this PRD The pointer will be zero if the det el is not defined (i.e.
virtual Trk::PrepRawDataType prdType () const override
 Interface method checking the type.
virtual float time () const
virtual float timeResolution () const
virtual const std::vector< int > & totList () const
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.
virtual MsgStream & dump (MsgStream &stream) const
 dump information about the PRD object.
virtual std::ostream & dump (std::ostream &stream) const
 dump information about the PRD object.
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

Private Attributes

InDet::SiWidth m_width
CxxUtils::CachedValue< Amg::Vector3Dm_glob_pos
const InDetDD::SolidStateDetectorElementBasem_det_el
float m_time {}
float m_time_resolution {}
std::vector< int > m_time_over_threshold
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)

Detailed Description

Definition at line 35 of file HGTD_Cluster.h.

Constructor & Destructor Documentation

◆ HGTD_Cluster() [1/4]

HGTD_Cluster::HGTD_Cluster ( )

Definition at line 33 of file HGTD_Cluster.cxx.

33 : PrepRawData() {
34 m_det_el = nullptr;
35}
const InDetDD::SolidStateDetectorElementBase * m_det_el
PrepRawData()
public because of DataPool

◆ HGTD_Cluster() [2/4]

HGTD_Cluster::HGTD_Cluster ( const HGTD_Cluster & )
default

◆ HGTD_Cluster() [3/4]

HGTD_Cluster::HGTD_Cluster ( HGTD_Cluster && )
default

◆ ~HGTD_Cluster()

virtual HGTD_Cluster::~HGTD_Cluster ( )
virtualdefault

◆ HGTD_Cluster() [4/4]

HGTD_Cluster::HGTD_Cluster ( const Identifier & rdo_id,
const Amg::Vector2D & loc_pos,
std::vector< Identifier > && rdo_list,
const InDet::SiWidth & width,
const InDetDD::SolidStateDetectorElementBase * det_el,
Amg::MatrixX && loc_err_matx,
const float time_of_arrival,
const float time_of_arrival_err,
std::vector< int > && time_over_threshold )

Definition at line 16 of file HGTD_Cluster.cxx.

25 : PrepRawData(rdo_id, loc_pos, std::move(rdo_list), std::move(loc_err_matx)),
27 m_det_el(det_el),
28 m_time(time_of_arrival),
29 m_time_resolution(time_of_arrival_err),
30 m_time_over_threshold(std::move(time_over_threshold)) {}
std::vector< int > m_time_over_threshold
InDet::SiWidth m_width
float m_time_resolution
virtual const InDet::SiWidth & width() const

Member Function Documentation

◆ detectorElement()

const InDetDD::SolidStateDetectorElementBase * HGTD_Cluster::detectorElement ( ) const
inlineoverridevirtual

return 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 104 of file HGTD_Cluster.h.

104 {
105 return m_det_el;
106}

◆ dump() [1/2]

MsgStream & Trk::PrepRawData::dump ( MsgStream & stream) const
virtualinherited

dump information about the PRD object.

Reimplemented in CscPrepData, CscStripPrepData, InDet::PixelCluster, InDet::SCT_Cluster, InDet::SiCluster, InDet::TRT_DriftCircle, Muon::CscPrepData, Muon::CscStripPrepData, Muon::MdtPrepData, Muon::MdtTwinPrepData, Muon::MMPrepData, Muon::MuonCluster, Muon::RpcCoinData, Muon::RpcPrepData, Muon::sTgcPrepData, and Muon::TgcPrepData.

Definition at line 79 of file PrepRawData.cxx.

80{
81 stream << "PrepRawData object" << endmsg;
82 stream << "Identifier = (" << this->identify().getString() << "), ";
83
84 stream << "Local Position = (";
85 stream << Amg::toString(this->localPosition()) << "), ";
86
87 stream << "Local Covariance = (";
88 if (this->m_localCovariance.size() != 0) {
89 stream << Amg::toString(this->localCovariance()) << "), ";
90 } else {
91 stream << "NULL!), ";
92 }
93
94 stream << "RDO List = [";
95 std::vector<Identifier>::const_iterator rdoIt = this->rdoList().begin();
96 std::vector<Identifier>::const_iterator rdoItEnd = this->rdoList().end();
97 for (; rdoIt != rdoItEnd; ++rdoIt) {
98 stream << rdoIt->getString() << ", ";
99 }
100 stream << "], ";
101
102 stream << "}" << endmsg;
103 return stream;
104}
#define endmsg
std::string getString() const
Provide a string form of the identifier - hexadecimal.
Amg::MatrixX m_localCovariance
See derived classes for definition of ErrorMatrix.
const Amg::Vector2D & localPosition() const
return the local position reference
Identifier identify() const
return the identifier
const Amg::MatrixX & localCovariance() const
return const ref to the error matrix
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.

◆ dump() [2/2]

std::ostream & Trk::PrepRawData::dump ( std::ostream & stream) const
virtualinherited

dump information about the PRD object.

I would like to make this pure virtual, but I don't want to risk screwing up the muon classes for the moment

Reimplemented in CscPrepData, CscStripPrepData, InDet::PixelCluster, InDet::SCT_Cluster, InDet::SiCluster, InDet::TRT_DriftCircle, Muon::CscPrepData, Muon::CscStripPrepData, Muon::MdtPrepData, Muon::MdtTwinPrepData, Muon::MMPrepData, Muon::MuonCluster, Muon::RpcCoinData, Muon::RpcPrepData, Muon::sTgcPrepData, and Muon::TgcPrepData.

Definition at line 107 of file PrepRawData.cxx.

108{
109 stream << "PrepRawData object" << std::endl;
110 stream << "Identifier " << m_clusId << std::endl;
111 stream << "Local Position = (";
112
113 stream << Amg::toString(this->localPosition()) << "), ";
114 stream << "Local Covariance = (";
115 if (this->m_localCovariance.size() != 0) {
116 stream << Amg::toString(this->localCovariance()) << "), ";
117 } else {
118 stream << "NULL!), ";
119 }
120 stream << "Collection Hash: " << m_indexAndHash.collHash()
121 << "\tIndex in collection: " << m_indexAndHash.objIndex() << std::endl;
122 stream << "RDO List = [";
123 for (auto it : m_rdoList) {
124 stream << it << std::endl;
125 }
126 stream << "], ";
127 return stream;
128}
std::vector< Identifier > m_rdoList
Stores the identifiers of the RDOs.
IdentContIndex m_indexAndHash
Stores its own position (index) in collection plus the hash id for the collection (needed for the EL ...
Identifier m_clusId
PrepRawData ID, not const because of DataPool.

◆ getHashAndIndex()

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

◆ globalPosition()

const Amg::Vector3D & HGTD_Cluster::globalPosition ( ) const
inlinevirtual

Definition at line 93 of file HGTD_Cluster.h.

93 {
94 if (!m_det_el) {
95 throw Trk::PrepRawDataUndefinedVariable();
96 }
97 if (!m_glob_pos.isValid()) {
98 m_glob_pos.set (m_det_el->surface(identify()).localToGlobal(localPosition()));
99 }
100 return *m_glob_pos.ptr();
101}
CxxUtils::CachedValue< Amg::Vector3D > m_glob_pos

◆ hasLocalCovariance()

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

returns localCovariance().size()!=0

◆ identify()

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

return the identifier

◆ 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

◆ 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]

HGTD_Cluster & HGTD_Cluster::operator= ( const HGTD_Cluster & )
default

◆ operator=() [2/2]

HGTD_Cluster & HGTD_Cluster::operator= ( HGTD_Cluster && )
default

◆ prdType()

Trk::PrepRawDataType HGTD_Cluster::prdType ( ) const
inlineoverridevirtual

Interface method checking the type.

Implements Trk::PrepRawData.

Definition at line 109 of file HGTD_Cluster.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 ...

◆ time()

float HGTD_Cluster::time ( ) const
inlinevirtual

Definition at line 114 of file HGTD_Cluster.h.

114{ return m_time; }

◆ timeResolution()

float HGTD_Cluster::timeResolution ( ) const
inlinevirtual

Definition at line 116 of file HGTD_Cluster.h.

116{ return m_time_resolution; }

◆ totList()

const std::vector< int > & HGTD_Cluster::totList ( ) const
inlinevirtual

Definition at line 118 of file HGTD_Cluster.h.

118 {
120}

◆ 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.

◆ width()

const InDet::SiWidth & HGTD_Cluster::width ( ) const
inlinevirtual

Definition at line 91 of file HGTD_Cluster.h.

91{ return m_width; }

Member Data Documentation

◆ 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_det_el

const InDetDD::SolidStateDetectorElementBase* HGTD_Cluster::m_det_el
private

Definition at line 81 of file HGTD_Cluster.h.

◆ m_glob_pos

CxxUtils::CachedValue<Amg::Vector3D> HGTD_Cluster::m_glob_pos
private

Definition at line 79 of file HGTD_Cluster.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_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_time

float HGTD_Cluster::m_time {}
private

Definition at line 83 of file HGTD_Cluster.h.

83{};

◆ m_time_over_threshold

std::vector<int> HGTD_Cluster::m_time_over_threshold
private

Definition at line 85 of file HGTD_Cluster.h.

◆ m_time_resolution

float HGTD_Cluster::m_time_resolution {}
private

Definition at line 84 of file HGTD_Cluster.h.

84{};

◆ m_width

InDet::SiWidth HGTD_Cluster::m_width
private

Definition at line 77 of file HGTD_Cluster.h.

◆ 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: