ATLAS Offline Software
Loading...
Searching...
No Matches
InDet::PixelClusterOnTrack Class Referencefinal

Specific class to represent the pixel measurements. More...

#include <PixelClusterOnTrack.h>

Inheritance diagram for InDet::PixelClusterOnTrack:
Collaboration diagram for InDet::PixelClusterOnTrack:

Public Member Functions

 PixelClusterOnTrack ()
 Default constructor - needed for POOL.
 PixelClusterOnTrack (const PixelClusterOnTrack &)=default
 Copy constructor.
 PixelClusterOnTrack (PixelClusterOnTrack &&)=default
 Move constructor.
PixelClusterOnTrackoperator= (const PixelClusterOnTrack &)=default
 Assignment operator.
PixelClusterOnTrackoperator= (PixelClusterOnTrack &&)=default
 Move assignment.
virtual ~PixelClusterOnTrack ()=default
 destructor
 PixelClusterOnTrack (const PixelCluster *RIO, Trk::LocalParameters &&locpars, Amg::MatrixX &&locerr, const IdentifierHash &idDE, bool hasAmbiguity=false, bool isbroad=false)
 Constructor with parameters.
 PixelClusterOnTrack (const PixelCluster *RIO, Trk::LocalParameters &&locpars, Amg::MatrixX &&locerr, const IdentifierHash &idDE, const Amg::Vector3D &globalPosition, bool hasAmbiguity=false, bool isbroad=false)
 Constructor with parameters.
 PixelClusterOnTrack (const ElementLinkToIDCPixelClusterContainer &RIO, const Trk::LocalParameters &locpars, const Amg::MatrixX &locerr, const IdentifierHash &idDE, const Identifier &id, float energyLoss, bool isFake, bool hasClusterAmbiguity, bool isbroad)
virtual PixelClusterOnTrackclone () const override final
 Pseudo-constructor : needed to avoid excessive RTTI.
virtual const Trk::SurfaceassociatedSurface () const override final
 returns the surface for the local to global transformation
virtual bool rioType (Trk::RIO_OnTrackType::Type type) const override final
 Method checking the Rio On Track type.
virtual const PixelClusterprepRawData () const override final
 returns the PrepRawData - is a SiCluster in this scope
const ElementLinkToIDCPixelClusterContainerprepRawDataLink () const
virtual const InDetDD::SiDetectorElementdetectorElement () const override final
 returns the detector element, assoicated with the PRD of this class
bool hasClusterAmbiguity () const
 returns whether there was an ambiguity associated with this pixel cluster.
bool isFake () const
 returns whether this cluster is likely to be the fake mirror image of a ganged pixel.
float energyLoss () const
 returns the energy loss in MeV associated to this cluster.
virtual MsgStream & dump (MsgStream &out) const override final
 returns some information about this RIO_OnTrack.
virtual std::ostream & dump (std::ostream &out) const override final
 returns some information about this RIO_OnTrack.
virtual const Amg::Vector3DglobalPosition () const override
 returns global position (gathered through Surface constraint)
virtual IdentifierHash idDE () const override
 returns the DE hashID*
bool isBroadCluster () const
std::unique_ptr< RIO_OnTrackuniqueClone () const
 NVI clone returning unique_ptr.
virtual bool type (MeasurementBaseType::Type type) const override final
 Extended method checking the type.
Identifier identify () const
 return the identifier -extends MeasurementBase
const LocalParameters & localParameters () const
 Interface method to get the LocalParameters.
const Amg::MatrixXlocalCovariance () const
 Interface method to get the localError.

Static Public Member Functions

static std::size_t numberOfInstantiations ()

Static Public Attributes

static std::atomic_size_t s_numberOfInstantiations

Protected Attributes

IdentifierHash m_idDE
 The IdentifierHash - probably not used.
Amg::Vector3D m_globalPosition
 The global position.
bool m_isbroad
Identifier m_identifier {}
 Identifier of the RIO_OnTrack (comes from the associated Trk::PrepRawData)
LocalParameters m_localParams
Amg::MatrixX m_localCovariance

Private Member Functions

virtual void setValues (const Trk::TrkDetElementBase *detEl, const Trk::PrepRawData *prd) override final
 ONLY for use in custom convertor Allows the custom convertor to reset values when persistying/reading back RoTs.

Private Attributes

ElementLinkToIDCPixelClusterContainer m_rio
 PixelCluster - the RIO (PRD, PrepRawData)
bool m_hasClusterAmbiguity
 records whether there is an ambiguity about this cluster
bool m_isFake
 records whether this cluster would be removed by the internal solving of ganged pixel ambiguities
float m_energyLoss
 get energy deposited in the cluster, in MeV
const InDetDD::SiDetectorElementm_detEl
 corresponding detector element

Friends

class Trk::ITrkEventCnvTool
class PixelClusterOnTrackCnv_p1
class ::FakeTrackBuilder

Detailed Description

Specific class to represent the pixel measurements.

At the moment the only extension is whether there was an ambiguity with the assignment of this cluster.

Author
Veron.nosp@m.ique.nosp@m..Bois.nosp@m.vert.nosp@m.@cern.nosp@m..ch, Edwar.nosp@m.d.Mo.nosp@m.yse@c.nosp@m.ern..nosp@m.ch, Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch Chistos Anastopoulos (AthenaMT)

Definition at line 51 of file PixelClusterOnTrack.h.

Constructor & Destructor Documentation

◆ PixelClusterOnTrack() [1/6]

InDet::PixelClusterOnTrack::PixelClusterOnTrack ( )

Default constructor - needed for POOL.

Definition at line 88 of file PixelClusterOnTrack.cxx.

89 :
90 InDet::SiClusterOnTrack(),
91 m_rio(),
93 m_isFake(false),
94 m_energyLoss(0.),
95 m_detEl(nullptr)
96{}
ElementLinkToIDCPixelClusterContainer m_rio
PixelCluster - the RIO (PRD, PrepRawData)
bool m_hasClusterAmbiguity
records whether there is an ambiguity about this cluster
bool m_isFake
records whether this cluster would be removed by the internal solving of ganged pixel ambiguities
float m_energyLoss
get energy deposited in the cluster, in MeV
const InDetDD::SiDetectorElement * m_detEl
corresponding detector element

◆ PixelClusterOnTrack() [2/6]

InDet::PixelClusterOnTrack::PixelClusterOnTrack ( const PixelClusterOnTrack & )
default

Copy constructor.

◆ PixelClusterOnTrack() [3/6]

InDet::PixelClusterOnTrack::PixelClusterOnTrack ( PixelClusterOnTrack && )
default

Move constructor.

◆ ~PixelClusterOnTrack()

virtual InDet::PixelClusterOnTrack::~PixelClusterOnTrack ( )
virtualdefault

destructor

◆ PixelClusterOnTrack() [4/6]

InDet::PixelClusterOnTrack::PixelClusterOnTrack ( const PixelCluster * RIO,
Trk::LocalParameters && locpars,
Amg::MatrixX && locerr,
const IdentifierHash & idDE,
bool hasAmbiguity = false,
bool isbroad = false )

Constructor with parameters.

Definition at line 16 of file PixelClusterOnTrack.cxx.

23 : // call base class constructor
24 InDet::SiClusterOnTrack(std::move(locpars),
25 std::move(locerr),
26 idDE, RIO->identify(), isbroad)
27 , m_hasClusterAmbiguity(RIO->isAmbiguous())
28 , m_isFake(RIO->isFake())
29 , m_energyLoss(RIO->energyLoss())
30 , m_detEl(RIO->detectorElement())
31{
32 m_rio.setElement(RIO);
33 // Set global position
35}
virtual const Trk::Surface & associatedSurface() const override final
returns the surface for the local to global transformation
virtual IdentifierHash idDE() const override
returns the DE hashID*
Amg::Vector3D m_globalPosition
The global position.
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
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.

◆ PixelClusterOnTrack() [5/6]

InDet::PixelClusterOnTrack::PixelClusterOnTrack ( const PixelCluster * RIO,
Trk::LocalParameters && locpars,
Amg::MatrixX && locerr,
const IdentifierHash & idDE,
const Amg::Vector3D & globalPosition,
bool hasAmbiguity = false,
bool isbroad = false )

Constructor with parameters.

Definition at line 38 of file PixelClusterOnTrack.cxx.

46 : // call base class constructor
47 InDet::SiClusterOnTrack(std::move(locpars),
48 std::move(locerr),
49 idDE,
50 RIO->identify(),
52 isbroad)
53 , m_hasClusterAmbiguity(RIO->isAmbiguous())
54 , m_isFake(RIO->isFake())
55 , m_energyLoss(RIO->energyLoss())
56 , m_detEl(RIO->detectorElement())
57{
58 m_rio.setElement(RIO);
59}
virtual const Amg::Vector3D & globalPosition() const override
returns global position (gathered through Surface constraint)

◆ PixelClusterOnTrack() [6/6]

InDet::PixelClusterOnTrack::PixelClusterOnTrack ( const ElementLinkToIDCPixelClusterContainer & RIO,
const Trk::LocalParameters & locpars,
const Amg::MatrixX & locerr,
const IdentifierHash & idDE,
const Identifier & id,
float energyLoss,
bool isFake,
bool hasClusterAmbiguity,
bool isbroad )

Definition at line 64 of file PixelClusterOnTrack.cxx.

74 : InDet::SiClusterOnTrack(Trk::LocalParameters(locpars), Amg::MatrixX(locerr), idDE, id, isbroad),
75 m_rio (RIO),
79 m_detEl (nullptr)
80{
81 // The setting of the global position
82 // happens via the setValues method
83}
bool isFake() const
returns whether this cluster is likely to be the fake mirror image of a ganged pixel.
bool hasClusterAmbiguity() const
returns whether there was an ambiguity associated with this pixel cluster.
float energyLoss() const
returns the energy loss in MeV associated to this cluster.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.

Member Function Documentation

◆ associatedSurface()

const Trk::Surface & InDet::PixelClusterOnTrack::associatedSurface ( ) const
finaloverridevirtual

returns the surface for the local to global transformation

Implements Trk::RIO_OnTrack.

Definition at line 101 of file PixelClusterOnTrack.cxx.

102{ return ( detectorElement()->surface()); }
virtual const InDetDD::SiDetectorElement * detectorElement() const override final
returns the detector element, assoicated with the PRD of this class

◆ clone()

PixelClusterOnTrack * InDet::PixelClusterOnTrack::clone ( ) const
inlinefinaloverridevirtual

Pseudo-constructor : needed to avoid excessive RTTI.

Implements Trk::RIO_OnTrack.

Definition at line 175 of file PixelClusterOnTrack.h.

175 {
176 return new PixelClusterOnTrack(*this);
177}
PixelClusterOnTrack()
Default constructor - needed for POOL.

◆ detectorElement()

const InDetDD::SiDetectorElement * InDet::PixelClusterOnTrack::detectorElement ( ) const
inlinefinaloverridevirtual

returns the detector element, assoicated with the PRD of this class

Implements Trk::RIO_OnTrack.

Definition at line 193 of file PixelClusterOnTrack.h.

194 {
195 return m_detEl;
196}

◆ dump() [1/2]

MsgStream & InDet::PixelClusterOnTrack::dump ( MsgStream & out) const
finaloverridevirtual

returns some information about this RIO_OnTrack.

Reimplemented from InDet::SiClusterOnTrack.

Definition at line 117 of file PixelClusterOnTrack.cxx.

118{
119 sl<<"PixelClusterOnTrack {"<<endmsg;
120 InDet::SiClusterOnTrack::dump(sl); // use common dump(...) from SiClusterOnTrack
121 sl<<"Ganged cluster ambiguity: "<<hasClusterAmbiguity()
122 <<", fake: " << isFake()
123 <<", dedX: " << energyLoss()
124 <<endmsg;
125 sl<<"}"<<endmsg;
126 return sl;
127}
#define endmsg
virtual MsgStream & dump(MsgStream &out) const override
returns some information about this RIO_OnTrack.

◆ dump() [2/2]

std::ostream & InDet::PixelClusterOnTrack::dump ( std::ostream & out) const
finaloverridevirtual

returns some information about this RIO_OnTrack.

Reimplemented from InDet::SiClusterOnTrack.

Definition at line 129 of file PixelClusterOnTrack.cxx.

130{
131 sl<<"PixelClusterOnTrack {"<<std::endl;
132 InDet::SiClusterOnTrack::dump(sl);// use common dump(...) from SiClusterOnTrack
133 sl<<"Ganged cluster ambiguity: "<<hasClusterAmbiguity()
134 <<", fake: " << isFake()
135 <<", dedX: " << energyLoss()
136 <<std::endl;
137 sl<<"}"<<std::endl;
138 return sl;
139}

◆ energyLoss()

float InDet::PixelClusterOnTrack::energyLoss ( ) const
inline

returns the energy loss in MeV associated to this cluster.

It is 0 if no calibration data is used in clusterization

Definition at line 206 of file PixelClusterOnTrack.h.

206 {
207 return m_energyLoss;
208}

◆ globalPosition()

const Amg::Vector3D & InDet::SiClusterOnTrack::globalPosition ( ) const
inlineoverridevirtualinherited

returns global position (gathered through Surface constraint)

Implements Trk::RIO_OnTrack.

Definition at line 115 of file SiClusterOnTrack.h.

115 {
116 return m_globalPosition;
117 }

◆ hasClusterAmbiguity()

bool InDet::PixelClusterOnTrack::hasClusterAmbiguity ( ) const
inline

returns whether there was an ambiguity associated with this pixel cluster.

Definition at line 198 of file PixelClusterOnTrack.h.

198 {
200}

◆ idDE()

IdentifierHash InDet::SiClusterOnTrack::idDE ( ) const
inlineoverridevirtualinherited

returns the DE hashID*

Implements Trk::RIO_OnTrack.

Definition at line 119 of file SiClusterOnTrack.h.

120 {
121 return m_idDE;
122 }
IdentifierHash m_idDE
The IdentifierHash - probably not used.

◆ identify()

Identifier Trk::RIO_OnTrack::identify ( ) const
inlineinherited

return the identifier -extends MeasurementBase

Definition at line 152 of file RIO_OnTrack.h.

153 { return m_identifier; }
Identifier m_identifier
Identifier of the RIO_OnTrack (comes from the associated Trk::PrepRawData)

◆ isBroadCluster()

bool InDet::SiClusterOnTrack::isBroadCluster ( ) const
inlineinherited

Definition at line 124 of file SiClusterOnTrack.h.

125 {
126 return m_isbroad;
127 }

◆ isFake()

bool InDet::PixelClusterOnTrack::isFake ( ) const
inline

returns whether this cluster is likely to be the fake mirror image of a ganged pixel.

Is it set if the cluster is a single hit cluster and the ganged pixel instead is part of a bigger cluster.

Definition at line 202 of file PixelClusterOnTrack.h.

202 {
203 return m_isFake;
204}

◆ localCovariance()

const Amg::MatrixX & Trk::MeasurementBase::localCovariance ( ) const
inlineinherited

Interface method to get the localError.

Definition at line 138 of file MeasurementBase.h.

139{
140 return m_localCovariance;
141}
Amg::MatrixX m_localCovariance

◆ localParameters()

const Trk::LocalParameters & Trk::MeasurementBase::localParameters ( ) const
inlineinherited

Interface method to get the LocalParameters.

Definition at line 132 of file MeasurementBase.h.

133{
134 return m_localParams;
135}
LocalParameters m_localParams

◆ numberOfInstantiations()

std::size_t Trk::ObjectCounter< Trk::RIO_OnTrack >::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]

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

Assignment operator.

◆ operator=() [2/2]

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

Move assignment.

◆ prepRawData()

const PixelCluster * InDet::PixelClusterOnTrack::prepRawData ( ) const
inlinefinaloverridevirtual

returns the PrepRawData - is a SiCluster in this scope

Implements Trk::RIO_OnTrack.

Definition at line 179 of file PixelClusterOnTrack.h.

179 {
180 // somehow one has to ask first if it is valid ... otherwise it always returns
181 // 0 ...
182 if (m_rio.isValid())
183 return m_rio.cachedElement();
184 else
185 return 0;
186}

◆ prepRawDataLink()

const ElementLinkToIDCPixelClusterContainer & InDet::PixelClusterOnTrack::prepRawDataLink ( ) const
inline

Definition at line 189 of file PixelClusterOnTrack.h.

189 {
190 return m_rio;
191}

◆ rioType()

virtual bool InDet::PixelClusterOnTrack::rioType ( Trk::RIO_OnTrackType::Type type) const
inlinefinaloverridevirtual

Method checking the Rio On Track type.

Implements InDet::SiClusterOnTrack.

Definition at line 118 of file PixelClusterOnTrack.h.

118 {
120 }
virtual bool type(MeasurementBaseType::Type type) const =0
Interface method checking the type.

◆ setValues()

void InDet::PixelClusterOnTrack::setValues ( const Trk::TrkDetElementBase * detEl,
const Trk::PrepRawData * prd )
finaloverrideprivatevirtual

ONLY for use in custom convertor Allows the custom convertor to reset values when persistying/reading back RoTs.

Implements InDet::SiClusterOnTrack.

Definition at line 105 of file PixelClusterOnTrack.cxx.

106{
107 //set detector element
108 m_detEl = dynamic_cast< const InDetDD::SiDetectorElement* >(detEl);
109 if(m_detEl){
110 //Then set global potition based on it
112 }
113}

◆ type()

virtual bool Trk::RIO_OnTrack::type ( MeasurementBaseType::Type type) const
inlinefinaloverridevirtualinherited

Extended method checking the type.

Implements Trk::MeasurementBase.

Definition at line 110 of file RIO_OnTrack.h.

111 {
113 }
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.

◆ uniqueClone()

std::unique_ptr< RIO_OnTrack > Trk::RIO_OnTrack::uniqueClone ( ) const
inlineinherited

NVI clone returning unique_ptr.

Definition at line 97 of file RIO_OnTrack.h.

97 {
98 return std::unique_ptr<RIO_OnTrack>(clone());
99 };
virtual RIO_OnTrack * clone() const override=0
Pseudo-constructor, needed to avoid excessive RTTI.

◆ ::FakeTrackBuilder

friend class ::FakeTrackBuilder
friend

Definition at line 153 of file PixelClusterOnTrack.h.

◆ PixelClusterOnTrackCnv_p1

friend class PixelClusterOnTrackCnv_p1
friend

Definition at line 152 of file PixelClusterOnTrack.h.

◆ Trk::ITrkEventCnvTool

friend class Trk::ITrkEventCnvTool
friend

Definition at line 54 of file PixelClusterOnTrack.h.

Member Data Documentation

◆ m_detEl

const InDetDD::SiDetectorElement* InDet::PixelClusterOnTrack::m_detEl
private

corresponding detector element

Definition at line 172 of file PixelClusterOnTrack.h.

◆ m_energyLoss

float InDet::PixelClusterOnTrack::m_energyLoss
private

get energy deposited in the cluster, in MeV

Definition at line 170 of file PixelClusterOnTrack.h.

◆ m_globalPosition

Amg::Vector3D InDet::SiClusterOnTrack::m_globalPosition
protectedinherited

The global position.

Definition at line 111 of file SiClusterOnTrack.h.

◆ m_hasClusterAmbiguity

bool InDet::PixelClusterOnTrack::m_hasClusterAmbiguity
private

records whether there is an ambiguity about this cluster

Definition at line 165 of file PixelClusterOnTrack.h.

◆ m_idDE

IdentifierHash InDet::SiClusterOnTrack::m_idDE
protectedinherited

The IdentifierHash - probably not used.

Definition at line 109 of file SiClusterOnTrack.h.

◆ m_identifier

Identifier Trk::RIO_OnTrack::m_identifier {}
protectedinherited

Identifier of the RIO_OnTrack (comes from the associated Trk::PrepRawData)

Definition at line 149 of file RIO_OnTrack.h.

149{};

◆ m_isbroad

bool InDet::SiClusterOnTrack::m_isbroad
protectedinherited

Definition at line 112 of file SiClusterOnTrack.h.

◆ m_isFake

bool InDet::PixelClusterOnTrack::m_isFake
private

records whether this cluster would be removed by the internal solving of ganged pixel ambiguities

Definition at line 168 of file PixelClusterOnTrack.h.

◆ m_localCovariance

Amg::MatrixX Trk::MeasurementBase::m_localCovariance
protectedinherited

Definition at line 112 of file MeasurementBase.h.

◆ m_localParams

LocalParameters Trk::MeasurementBase::m_localParams
protectedinherited

Definition at line 111 of file MeasurementBase.h.

◆ m_rio

ElementLinkToIDCPixelClusterContainer InDet::PixelClusterOnTrack::m_rio
private

PixelCluster - the RIO (PRD, PrepRawData)

Definition at line 162 of file PixelClusterOnTrack.h.

◆ s_numberOfInstantiations

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

Definition at line 22 of file TrkObjectCounter.h.


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