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

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

#include <SCT_ClusterOnTrack.h>

Inheritance diagram for InDet::SCT_ClusterOnTrack:
Collaboration diagram for InDet::SCT_ClusterOnTrack:

Public Member Functions

 SCT_ClusterOnTrack ()
 For POOL only.
 SCT_ClusterOnTrack (const SCT_ClusterOnTrack &rot)=default
 SCT_ClusterOnTrack (SCT_ClusterOnTrack &&rot)=default
SCT_ClusterOnTrackoperator= (const SCT_ClusterOnTrack &)=default
 Assignment operator.
SCT_ClusterOnTrackoperator= (SCT_ClusterOnTrack &&)=default
 Default move assigment operator.
virtual ~SCT_ClusterOnTrack ()=default
 Destructor.
 SCT_ClusterOnTrack (const InDet::SCT_Cluster *RIO, Trk::LocalParameters &&locpars, Amg::MatrixX &&locerr, const IdentifierHash &idDE, bool isbroad=false)
 Constructor with parameters.
 SCT_ClusterOnTrack (const InDet::SCT_Cluster *RIO, Trk::LocalParameters &&locpars, Amg::MatrixX &&locerr, const IdentifierHash &idDE, const Amg::Vector3D &globalPosition, bool isbroad=false)
 Constructor with parameters.
 SCT_ClusterOnTrack (const ElementLinkToIDCSCT_ClusterContainer &RIO, const Trk::LocalParameters &locpars, const Amg::MatrixX &locerr, IdentifierHash idDE, const Identifier &id, bool isbroad, double positionAlongStrip)
virtual SCT_ClusterOnTrackclone () const override final
 Pseudo-constructor.
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 InDet::SCT_ClusterprepRawData () const override final
 returns the PrepRawData - is a SCT_Cluster in this scope
const ElementLinkToIDCSCT_ClusterContainerprepRawDataLink () const
virtual const InDetDD::SiDetectorElementdetectorElement () const override final
 returns the detector element, assoicated with the PRD of this class
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.
double positionAlongStrip () const
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

ElementLinkToIDCSCT_ClusterContainer m_rio
 SCT_Cluster - the RIO (PRD, PrepRawData)
const InDetDD::SiDetectorElementm_detEl
 corresponding detector element
double m_positionAlongStrip

Friends

class Trk::ITrkEventCnvTool

Detailed Description

Specific class to represent the SCT measurements.

It does not currently extend the interface of InDet::SiClusterOnTrack.

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
Christos Aanstopoulos (AthenaMT)

Definition at line 44 of file SCT_ClusterOnTrack.h.

Constructor & Destructor Documentation

◆ SCT_ClusterOnTrack() [1/6]

InDet::SCT_ClusterOnTrack::SCT_ClusterOnTrack ( )

For POOL only.

Do not use

Definition at line 66 of file SCT_ClusterOnTrack.cxx.

66 :
68 m_rio(),
69 m_detEl(nullptr),
70 m_positionAlongStrip(std::numeric_limits<double>::quiet_NaN())
71{}
ElementLinkToIDCSCT_ClusterContainer m_rio
SCT_Cluster - the RIO (PRD, PrepRawData)
const InDetDD::SiDetectorElement * m_detEl
corresponding detector element
SiClusterOnTrack()
Default Constructor - needed for POOL.

◆ SCT_ClusterOnTrack() [2/6]

InDet::SCT_ClusterOnTrack::SCT_ClusterOnTrack ( const SCT_ClusterOnTrack & rot)
default

◆ SCT_ClusterOnTrack() [3/6]

InDet::SCT_ClusterOnTrack::SCT_ClusterOnTrack ( SCT_ClusterOnTrack && rot)
default

◆ ~SCT_ClusterOnTrack()

virtual InDet::SCT_ClusterOnTrack::~SCT_ClusterOnTrack ( )
virtualdefault

Destructor.

◆ SCT_ClusterOnTrack() [4/6]

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

Constructor with parameters.

Definition at line 19 of file SCT_ClusterOnTrack.cxx.

24 : SiClusterOnTrack(std::move(locpars), std::move(locerr), idDE,
25 RIO->identify(), isbroad) {
26 m_detEl = RIO->detectorElement();
27 m_positionAlongStrip = std::numeric_limits<double>::quiet_NaN();
28 m_rio.setElement(RIO);
29 // Set global position
32}
Trk::Surface & surface()
Element Surface.
virtual const InDetDD::SiDetectorElement * detectorElement() const override final
returns the detector element, assoicated with the PRD of this class
virtual IdentifierHash idDE() const override
returns the DE hashID*
Amg::Vector3D m_globalPosition
The global position.
virtual const InDetDD::SiDetectorElement * detectorElement() const override final
return the detector element corresponding to this PRD The pointer will be zero if the det el is not d...
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Identifier identify() const
return the identifier
Identifier identify() const
return the identifier -extends MeasurementBase
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.
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:130
Eigen::Matrix< double, 2, 1 > Vector2D
@ locX
Definition ParamDefs.h:37

◆ SCT_ClusterOnTrack() [5/6]

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

Constructor with parameters.

Definition at line 35 of file SCT_ClusterOnTrack.cxx.

39 : SiClusterOnTrack(std::move(locpars), std::move(locerr), idDE,
40 RIO->identify(), globalPosition, isbroad),
41 m_detEl(RIO->detectorElement()) {
42 m_rio.setElement(RIO);
43
44 // constructing local position provided a global one
45 std::optional<Amg::Vector2D> lpos{
47
48 // storing the position along the strip if available
49 m_positionAlongStrip = (lpos) ? (*lpos)[Trk::locY] : 0.;
50}
virtual const Amg::Vector3D & globalPosition() const override
returns global position (gathered through Surface constraint)
std::optional< Amg::Vector2D > positionOnSurface(const Amg::Vector3D &glopo, const BoundaryCheck &bchk=true, double tol1=0., double tol2=0.) const
positionOnSurface() returns the LocalPosition on the Surface, If BoundaryCheck==false it just return...
Definition Surface.cxx:106
@ locY
local cartesian
Definition ParamDefs.h:38

◆ SCT_ClusterOnTrack() [6/6]

InDet::SCT_ClusterOnTrack::SCT_ClusterOnTrack ( const ElementLinkToIDCSCT_ClusterContainer & RIO,
const Trk::LocalParameters & locpars,
const Amg::MatrixX & locerr,
IdentifierHash idDE,
const Identifier & id,
bool isbroad,
double positionAlongStrip )

Definition at line 52 of file SCT_ClusterOnTrack.cxx.

60 : SiClusterOnTrack(Trk::LocalParameters(locpars), Amg::MatrixX(locerr), idDE, id, isbroad),
61 m_rio(RIO),
62 m_detEl(nullptr),
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.

Member Function Documentation

◆ associatedSurface()

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

returns the surface for the local to global transformation

Implements Trk::RIO_OnTrack.

Definition at line 74 of file SCT_ClusterOnTrack.cxx.

75{
76 return (detectorElement()->surface());
77}

◆ clone()

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

Pseudo-constructor.

Implements Trk::RIO_OnTrack.

Definition at line 140 of file SCT_ClusterOnTrack.h.

141 {
142 return new SCT_ClusterOnTrack(*this);
143 }

◆ detectorElement()

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

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

Implements Trk::RIO_OnTrack.

Definition at line 158 of file SCT_ClusterOnTrack.h.

159 {
160 return m_detEl;
161 }

◆ dump() [1/2]

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

returns some information about this RIO_OnTrack.

Reimplemented from InDet::SiClusterOnTrack.

Definition at line 90 of file SCT_ClusterOnTrack.cxx.

91{
92 SiClusterOnTrack::dump(sl); // use dump(...) from SiClusterOnTrack
93 return sl;
94}
virtual MsgStream & dump(MsgStream &out) const override
returns some information about this RIO_OnTrack.

◆ dump() [2/2]

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

returns some information about this RIO_OnTrack.

Reimplemented from InDet::SiClusterOnTrack.

Definition at line 96 of file SCT_ClusterOnTrack.cxx.

97{
98 SiClusterOnTrack::dump(sl); // use dump(...) from SiClusterOnTrack
99 return sl;
100}

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

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

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

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

Assignment operator.

◆ operator=() [2/2]

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

Default move assigment operator.

◆ positionAlongStrip()

double InDet::SCT_ClusterOnTrack::positionAlongStrip ( ) const
inline

Definition at line 163 of file SCT_ClusterOnTrack.h.

164 {
166 }

◆ prepRawData()

const SCT_Cluster * InDet::SCT_ClusterOnTrack::prepRawData ( ) const
inlinefinaloverridevirtual

returns the PrepRawData - is a SCT_Cluster in this scope

Implements Trk::RIO_OnTrack.

Definition at line 145 of file SCT_ClusterOnTrack.h.

146 {
147 // somehow one has to ask first if it is valid ... otherwise it always returns 0 ...
148 if (m_rio.isValid()) return m_rio.cachedElement();
149 else return 0;
150 }

◆ prepRawDataLink()

const ElementLinkToIDCSCT_ClusterContainer & InDet::SCT_ClusterOnTrack::prepRawDataLink ( ) const
inline

Definition at line 153 of file SCT_ClusterOnTrack.h.

154 {
155 return m_rio;
156 }

◆ rioType()

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

Method checking the Rio On Track type.

Implements InDet::SiClusterOnTrack.

Definition at line 98 of file SCT_ClusterOnTrack.h.

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

◆ setValues()

void InDet::SCT_ClusterOnTrack::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 79 of file SCT_ClusterOnTrack.cxx.

80{
81 m_detEl = dynamic_cast<const InDetDD::SiDetectorElement*>(detEl);
82 if (m_detEl) {
83 // Set global position after setting the detector element
87 }
88}

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

◆ Trk::ITrkEventCnvTool

friend class Trk::ITrkEventCnvTool
friend

Definition at line 47 of file SCT_ClusterOnTrack.h.

Member Data Documentation

◆ m_detEl

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

corresponding detector element

Definition at line 135 of file SCT_ClusterOnTrack.h.

◆ m_globalPosition

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

The global position.

Definition at line 111 of file SiClusterOnTrack.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_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_positionAlongStrip

double InDet::SCT_ClusterOnTrack::m_positionAlongStrip
private

Definition at line 137 of file SCT_ClusterOnTrack.h.

◆ m_rio

ElementLinkToIDCSCT_ClusterContainer InDet::SCT_ClusterOnTrack::m_rio
private

SCT_Cluster - the RIO (PRD, PrepRawData)

Definition at line 133 of file SCT_ClusterOnTrack.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: