ATLAS Offline Software
Loading...
Searching...
No Matches
InDet::SiCluster Class Reference

#include <SiCluster.h>

Inheritance diagram for InDet::SiCluster:
Collaboration diagram for InDet::SiCluster:

Public Member Functions

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

Private Attributes

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)

Friend class declarations

class ::PixelClusterContainerCnv
class ::SCT_ClusterContainerCnv
class ::PixelClusterContainerCnv_p2
class PixelClusterContainerCnv_p1
class ::PixelClusterContainerCnv_p0
class SCT_ClusterContainerCnv_p1
class ::SCT_ClusterContainerCnv_p0
class ::SiClusterCnv_p1
 SiCluster ()=default
 SiCluster (const SiCluster &)=default
 Copy constructor.
 SiCluster (SiCluster &&)=default
 Move constructor.
SiClusteroperator= (const SiCluster &)=default
 Assignment operator.
SiClusteroperator= (SiCluster &&)=default
 Move assignment operator.
virtual ~SiCluster ()=default
 Destructor:
 SiCluster (const Identifier &RDOId, const Amg::Vector2D &locpos, std::vector< Identifier > &&rdoList, const InDet::SiWidth &width, const InDetDD::SiDetectorElement *detEl, Amg::MatrixX &&locErrMat)
 Constructor with parameters using ref or omitting Amg::MatrixX.
 SiCluster (const Identifier &RDOId, const Amg::Vector2D &locpos, std::vector< Identifier > &&rdoList, const InDet::SiWidth &width, const InDetDD::SiDetectorElement *detEl)
 SiCluster (const Identifier &RDOId, const Amg::Vector2D &locpos, const Amg::Vector3D &globpos, std::vector< Identifier > &&rdoList, const InDet::SiWidth &width, const InDetDD::SiDetectorElement *detEl, Amg::MatrixX &&locErrMat)
 SiCluster (const Identifier &RDOId, const Amg::Vector2D &locpos, const Amg::Vector3D &globpos, std::vector< Identifier > &&rdoList, const InDet::SiWidth &width, const InDetDD::SiDetectorElement *detEl)

Virtual methods

Amg::Vector3D m_globalPosition = Amg::Vector3D::Zero()
InDet::SiWidth m_width {}
 col, row, and width in mm
const InDetDD::SiDetectorElementm_detEl = nullptr
 Not owning points (ownned by the store.
bool m_gangedPixel = false
const InDet::SiWidthwidth () const
 return width class reference
const Amg::Vector3DglobalPosition () const
 return global position reference
void setGangedPixel (bool ganged)
 set the flag of this cluster containing a gangedPixel
bool gangedPixel () const
 return the flag of this cluster containing a gangedPixel
virtual const InDetDD::SiDetectorElementdetectorElement () const override final
 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 MsgStream & dump (MsgStream &stream) const override
 dump information about the SiCluster
virtual std::ostream & dump (std::ostream &stream) const override
 dump information about the SiCluster
void setDetectorElement (const InDetDD::SiDetectorElement *detEl)
 Set the m_detEl and calculate globalPostion.

Detailed Description

Constructor & Destructor Documentation

◆ SiCluster() [1/7]

InDet::SiCluster::SiCluster ( )
default

◆ SiCluster() [2/7]

InDet::SiCluster::SiCluster ( const SiCluster & )
default

Copy constructor.

◆ SiCluster() [3/7]

InDet::SiCluster::SiCluster ( SiCluster && )
default

Move constructor.

◆ ~SiCluster()

virtual InDet::SiCluster::~SiCluster ( )
virtualdefault

Destructor:

◆ SiCluster() [4/7]

InDet::SiCluster::SiCluster ( const Identifier & RDOId,
const Amg::Vector2D & locpos,
std::vector< Identifier > && rdoList,
const InDet::SiWidth & width,
const InDetDD::SiDetectorElement * detEl,
Amg::MatrixX && locErrMat )

Constructor with parameters using ref or omitting Amg::MatrixX.

If omitted we have any empty one.

Definition at line 22 of file SiCluster.cxx.

28 : // call base class constructor
29 PrepRawData(RDOId, locpos, std::move(rdoList), std::move(locErrMat))
30 , m_width(width)
31 , m_detEl(detEl)
32 , m_gangedPixel(false)
33{
34 if (m_detEl) {
36 m_detEl->surface(identify()).localToGlobal(localPosition());
37 }
38}
const InDet::SiWidth & width() const
return width class reference
const InDetDD::SiDetectorElement * m_detEl
Not owning points (ownned by the store.
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)
PrepRawData()
public because of DataPool

◆ SiCluster() [5/7]

InDet::SiCluster::SiCluster ( const Identifier & RDOId,
const Amg::Vector2D & locpos,
std::vector< Identifier > && rdoList,
const InDet::SiWidth & width,
const InDetDD::SiDetectorElement * detEl )

Definition at line 41 of file SiCluster.cxx.

46 : // call base class constructor
47 PrepRawData(RDOId, locpos, std::move(rdoList), {})
48 , m_width(width)
49 , m_detEl(detEl)
50 , m_gangedPixel(false)
51{
52 if (m_detEl) {
54 m_detEl->surface(identify()).localToGlobal(localPosition());
55 }
56}

◆ SiCluster() [6/7]

InDet::SiCluster::SiCluster ( const Identifier & RDOId,
const Amg::Vector2D & locpos,
const Amg::Vector3D & globpos,
std::vector< Identifier > && rdoList,
const InDet::SiWidth & width,
const InDetDD::SiDetectorElement * detEl,
Amg::MatrixX && locErrMat )

Definition at line 58 of file SiCluster.cxx.

65 : // call base class constructor
66 PrepRawData(RDOId, locpos, std::move(rdoList), std::move(locErrMat))
67 , m_globalPosition(globpos)
68 , m_width(width)
69 , m_detEl(detEl)
70 , m_gangedPixel(false)
71{}

◆ SiCluster() [7/7]

InDet::SiCluster::SiCluster ( const Identifier & RDOId,
const Amg::Vector2D & locpos,
const Amg::Vector3D & globpos,
std::vector< Identifier > && rdoList,
const InDet::SiWidth & width,
const InDetDD::SiDetectorElement * detEl )

Definition at line 73 of file SiCluster.cxx.

79 : // call base class constructor
80 PrepRawData(RDOId, locpos, std::move(rdoList),{})
81 , m_globalPosition(globpos)
82 , m_width(width)
83 , m_detEl(detEl)
84 , m_gangedPixel(false)
85{}

Member Function Documentation

◆ detectorElement()

virtual const InDetDD::SiDetectorElement * InDet::SiCluster::detectorElement ( ) const
finaloverridevirtual

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.

◆ dump() [1/2]

MsgStream & InDet::SiCluster::dump ( MsgStream & stream) const
overridevirtual

dump information about the SiCluster

Reimplemented from Trk::PrepRawData.

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

Definition at line 88 of file SiCluster.cxx.

89{
90 std::ostringstream out;
91 dump(out);
92 stream<<out.str();
93 return stream;
94}
virtual MsgStream & dump(MsgStream &stream) const override
dump information about the SiCluster
Definition SiCluster.cxx:88

◆ dump() [2/2]

std::ostream & InDet::SiCluster::dump ( std::ostream & stream) const
overridevirtual

dump information about the SiCluster

Reimplemented from Trk::PrepRawData.

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

Definition at line 97 of file SiCluster.cxx.

98{
99 const std::string lf("\n");
100 stream << "SiCluster object" << lf;
101 {
102 stream << "at global coordinates (x,y,z) = (" << this->globalPosition().x()
103 << ", " << this->globalPosition().y() << ", "
104 << this->globalPosition().z() << ")" << lf;
105 }
106
107 if (gangedPixel()) {
108 stream << "and is a ganged pixel. " << lf;
109 } else {
110 stream << "and is not a ganged pixel. " << lf;
111 }
112
113 stream << "SiWidth: " << m_width << lf;
114
115 stream << "Base Class (PrepRawData): " << lf;
116 this->PrepRawData::dump(stream);
117
118 return stream;
119}
const Amg::Vector3D & globalPosition() const
return global position reference
bool gangedPixel() const
return the flag of this cluster containing a gangedPixel

◆ gangedPixel()

bool InDet::SiCluster::gangedPixel ( ) const

return the flag of this cluster containing a gangedPixel

◆ getHashAndIndex()

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

◆ globalPosition()

const Amg::Vector3D & InDet::SiCluster::globalPosition ( ) const

return global position reference

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

SiCluster & InDet::SiCluster::operator= ( const SiCluster & )
default

Assignment operator.

◆ operator=() [2/2]

SiCluster & InDet::SiCluster::operator= ( SiCluster && )
default

Move assignment operator.

◆ prdType()

virtual Trk::PrepRawDataType InDet::SiCluster::prdType ( ) const
overridevirtual

Interface method checking the type.

Implements Trk::PrepRawData.

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

◆ rdoList()

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

return the List of rdo identifiers (pointers)

◆ setDetectorElement()

void InDet::SiCluster::setDetectorElement ( const InDetDD::SiDetectorElement * detEl)

Set the m_detEl and calculate globalPostion.

◆ setGangedPixel()

void InDet::SiCluster::setGangedPixel ( bool ganged)

set the flag of this cluster containing a gangedPixel

◆ setHashAndIndex()

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

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

◆ 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 & InDet::SiCluster::width ( ) const

return width class reference

◆ ::PixelClusterContainerCnv

◆ ::PixelClusterContainerCnv_p0

◆ ::PixelClusterContainerCnv_p2

◆ ::SCT_ClusterContainerCnv

◆ ::SCT_ClusterContainerCnv_p0

◆ ::SiClusterCnv_p1

◆ PixelClusterContainerCnv_p1

◆ SCT_ClusterContainerCnv_p1

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_detEl

const InDetDD::SiDetectorElement* InDet::SiCluster::m_detEl = nullptr
private

Not owning points (ownned by the store.

Definition at line 139 of file InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h.

◆ m_gangedPixel

bool InDet::SiCluster::m_gangedPixel = false
private

◆ m_globalPosition

Amg::Vector3D InDet::SiCluster::m_globalPosition = Amg::Vector3D::Zero()
private

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

InDet::SiWidth InDet::SiCluster::m_width {}
private

col, row, and width in mm

Definition at line 137 of file InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h.

137{};

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