ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | List of all members
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 More...
 
const Amg::Vector2DlocalPosition () const
 return the local position reference More...
 
const std::vector< Identifier > & rdoList () const
 return the List of rdo identifiers (pointers) More...
 
const Amg::MatrixXlocalCovariance () const
 return const ref to the error matrix More...
 
bool hasLocalCovariance () const
 returns localCovariance().size()!=0 More...
 
void setHashAndIndex (unsigned short collHash, unsigned short objIndex)
 TEMP for testing: might make some classes friends later ... More...
 
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. More...
 
Amg::Vector2D m_localPos {}
 see derived classes for definition of meaning of LocalPosition More...
 
std::vector< Identifierm_rdoList {}
 Stores the identifiers of the RDOs. More...
 
Amg::MatrixX m_localCovariance {}
 See derived classes for definition of ErrorMatrix. More...
 
IdentContIndex m_indexAndHash
 Stores its own position (index) in collection plus the hash id for the collection (needed for the EL to IDC) More...
 

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. More...
 
 SiCluster (SiCluster &&)=default
 Move constructor. More...
 
SiClusteroperator= (const SiCluster &)=default
 Assignment operator. More...
 
SiClusteroperator= (SiCluster &&)=default
 Move assignment operator. More...
 
virtual ~SiCluster ()=default
 Destructor: More...
 
 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. More...
 
 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 More...
 
const InDetDD::SiDetectorElementm_detEl = nullptr
 Not owning points (ownned by the store. More...
 
bool m_gangedPixel = false
 
const InDet::SiWidthwidth () const
 return width class reference More...
 
const Amg::Vector3DglobalPosition () const
 return global position reference More...
 
void setGangedPixel (bool ganged)
 set the flag of this cluster containing a gangedPixel More...
 
bool gangedPixel () const
 return the flag of this cluster containing a gangedPixel More...
 
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. More...
 
virtual bool type (Trk::PrepRawDataType type) const override
 Interface method checking the type. More...
 
virtual MsgStream & dump (MsgStream &stream) const override
 dump information about the SiCluster More...
 
virtual std::ostream & dump (std::ostream &stream) const override
 dump information about the SiCluster More...
 
void setDetectorElement (const InDetDD::SiDetectorElement *detEl)
 Set the m_detEl and calculate globalPostion. More...
 

Detailed Description

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

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) {
37  }
38 }

◆ 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) {
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 }

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

◆ 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

◆ 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()

static 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  }

◆ operator=() [1/2]

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

Assignment operator.

◆ operator=() [2/2]

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

Move assignment operator.

◆ 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 InDet::SiCluster::type ( Trk::PrepRawDataType  type) const
overridevirtual

Interface method checking the type.

Implements Trk::PrepRawData.

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

◆ width()

const InDet::SiWidth& InDet::SiCluster::width ( ) const

return width class reference

Friends And Related Function Documentation

◆ ::PixelClusterContainerCnv

friend class ::PixelClusterContainerCnv
friend

◆ ::PixelClusterContainerCnv_p0

friend class ::PixelClusterContainerCnv_p0
friend

◆ ::PixelClusterContainerCnv_p2

friend class ::PixelClusterContainerCnv_p2
friend

◆ ::SCT_ClusterContainerCnv

friend class ::SCT_ClusterContainerCnv
friend

◆ ::SCT_ClusterContainerCnv_p0

friend class ::SCT_ClusterContainerCnv_p0
friend

◆ ::SiClusterCnv_p1

friend class ::SiClusterCnv_p1
friend

◆ PixelClusterContainerCnv_p1

friend class PixelClusterContainerCnv_p1
friend

◆ SCT_ClusterContainerCnv_p1

friend class SCT_ClusterContainerCnv_p1
friend

Member Data Documentation

◆ m_clusId

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

PrepRawData ID, not const because of DataPool.

Definition at line 151 of file PrepRawData.h.

◆ 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 162 of file PrepRawData.h.

◆ m_localCovariance

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

See derived classes for definition of ErrorMatrix.

Definition at line 158 of file PrepRawData.h.

◆ m_localPos

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

see derived classes for definition of meaning of LocalPosition

Definition at line 154 of file PrepRawData.h.

◆ m_rdoList

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

Stores the identifiers of the RDOs.

Definition at line 156 of file PrepRawData.h.

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

◆ 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:
InDet::SiCluster::m_gangedPixel
bool m_gangedPixel
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h:140
InDet::SiCluster::m_detEl
const InDetDD::SiDetectorElement * m_detEl
Not owning points (ownned by the store.
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h:139
InDetDD::SolidStateDetectorElementBase::surface
Trk::Surface & surface()
Element Surface.
Trk::PrepRawData::rdoList
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
InDet::SiCluster::m_width
InDet::SiWidth m_width
col, row, and width in mm
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h:137
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
InDet::SiCluster::m_globalPosition
Amg::Vector3D m_globalPosition
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h:135
python.ChapPy.dump
def dump(buf, stdout=sys.stdout)
Definition: ChapPy.py:25
Trk::PrepRawData::PrepRawData
PrepRawData()
public because of DataPool
Definition: PrepRawData.cxx:68
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
InDet::SiCluster::gangedPixel
bool gangedPixel() const
return the flag of this cluster containing a gangedPixel
InDet::SiCluster::dump
virtual MsgStream & dump(MsgStream &stream) const override
dump information about the SiCluster
Definition: SiCluster.cxx:88
Trk::PrepRawData::localPosition
const Amg::Vector2D & localPosition() const
return the local position reference
test_pythinning.out
out
Definition: test_pythinning.py:94
InDet::SiCluster::globalPosition
const Amg::Vector3D & globalPosition() const
return global position reference
Trk::ObjectCounter< Trk::PrepRawData >::s_numberOfInstantiations
static std::atomic_size_t s_numberOfInstantiations
Definition: TrkObjectCounter.h:22
InDet::SiCluster::width
const InDet::SiWidth & width() const
return width class reference
Trk::Surface::localToGlobal
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.