ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
InDet::SCT_ClusterOnTrack Class Referencefinal

#include <SCT_ClusterOnTrack.h>

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

Public Member Functions

 SCT_ClusterOnTrack ()
 For POOL only. More...
 
 SCT_ClusterOnTrack (const SCT_ClusterOnTrack &rot)=default
 
 SCT_ClusterOnTrack (SCT_ClusterOnTrack &&rot)=default
 
SCT_ClusterOnTrackoperator= (const SCT_ClusterOnTrack &)=default
 Assignment operator. More...
 
SCT_ClusterOnTrackoperator= (SCT_ClusterOnTrack &&)=default
 Default move assigment operator. More...
 
virtual ~SCT_ClusterOnTrack ()=default
 Destructor. More...
 
 SCT_ClusterOnTrack (const InDet::SCT_Cluster *RIO, Trk::LocalParameters &&locpars, Amg::MatrixX &&locerr, const IdentifierHash &idDE, bool isbroad=false)
 Constructor with parameters. More...
 
 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. More...
 
 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. More...
 
virtual const Trk::SurfaceassociatedSurface () const override final
 returns the surface for the local to global transformation More...
 
virtual bool rioType (Trk::RIO_OnTrackType::Type type) const override final
 Method checking the Rio On Track type. More...
 
virtual const InDet::SCT_ClusterprepRawData () const override final
 returns the PrepRawData - is a SCT_Cluster in this scope More...
 
const ElementLinkToIDCSCT_ClusterContainerprepRawDataLink () const
 
virtual const InDetDD::SiDetectorElementdetectorElement () const override final
 returns the detector element, assoicated with the PRD of this class More...
 
virtual MsgStream & dump (MsgStream &out) const override final
 returns some information about this RIO_OnTrack. More...
 
virtual std::ostream & dump (std::ostream &out) const override final
 returns some information about this RIO_OnTrack. More...
 
double positionAlongStrip () const
 
virtual const Amg::Vector3DglobalPosition () const override
 returns global position (gathered through Surface constraint) More...
 
virtual IdentifierHash idDE () const override
 returns the DE hashID* More...
 
bool isBroadCluster () const
 
std::unique_ptr< RIO_OnTrackuniqueClone () const
 NVI clone returning unique_ptr. More...
 
virtual bool type (MeasurementBaseType::Type type) const override final
 Extended method checking the type. More...
 
Identifier identify () const
 return the identifier -extends MeasurementBase More...
 
const LocalParameters & localParameters () const
 Interface method to get the LocalParameters. More...
 
const Amg::MatrixXlocalCovariance () const
 Interface method to get the localError. More...
 

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. More...
 
Amg::Vector3D m_globalPosition
 The global position. More...
 
bool m_isbroad
 
Identifier m_identifier {}
 Identifier of the RIO_OnTrack (comes from the associated Trk::PrepRawData) More...
 
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. More...
 

Private Attributes

ElementLinkToIDCSCT_ClusterContainer m_rio
 SCT_Cluster - the RIO (PRD, PrepRawData) More...
 
const InDetDD::SiDetectorElementm_detEl
 corresponding detector element More...
 
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 {}

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

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

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

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 }

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

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

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

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

◆ numberOfInstantiations()

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

◆ 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  {
165  return m_positionAlongStrip;
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  }

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

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

Friends And Related Function Documentation

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

◆ 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:
Trk::LocalParameters
Definition: LocalParameters.h:98
InDet::SiClusterOnTrack::idDE
virtual IdentifierHash idDE() const override
returns the DE hashID*
Definition: SiClusterOnTrack.h:119
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
InDet::SCT_ClusterOnTrack::m_detEl
const InDetDD::SiDetectorElement * m_detEl
corresponding detector element
Definition: SCT_ClusterOnTrack.h:135
Trk::locX
@ locX
Definition: ParamDefs.h:37
Trk::locY
@ locY
local cartesian
Definition: ParamDefs.h:38
InDet::SiClusterOnTrack::m_idDE
IdentifierHash m_idDE
The IdentifierHash - probably not used.
Definition: SiClusterOnTrack.h:109
InDet::SCT_ClusterOnTrack::positionAlongStrip
double positionAlongStrip() const
Definition: SCT_ClusterOnTrack.h:163
Trk::RIO_OnTrack::clone
virtual RIO_OnTrack * clone() const override=0
Pseudo-constructor, needed to avoid excessive RTTI.
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
InDetDD::SolidStateDetectorElementBase::surface
Trk::Surface & surface()
Element Surface.
InDet::SiClusterOnTrack::m_isbroad
bool m_isbroad
Definition: SiClusterOnTrack.h:112
Trk::RIO_OnTrack::type
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
Definition: RIO_OnTrack.h:110
InDet::SiClusterOnTrack::SiClusterOnTrack
SiClusterOnTrack()
Default Constructor - needed for POOL.
Definition: SiClusterOnTrack.cxx:49
InDet::SiClusterOnTrack::globalPosition
virtual const Amg::Vector3D & globalPosition() const override
returns global position (gathered through Surface constraint)
Definition: SiClusterOnTrack.h:115
Trk::RIO_OnTrackType::SCTCluster
@ SCTCluster
Definition: RIO_OnTrack.h:58
InDet::SCT_ClusterOnTrack::m_rio
ElementLinkToIDCSCT_ClusterContainer m_rio
SCT_Cluster - the RIO (PRD, PrepRawData)
Definition: SCT_ClusterOnTrack.h:133
InDet::SCT_ClusterOnTrack::m_positionAlongStrip
double m_positionAlongStrip
Definition: SCT_ClusterOnTrack.h:137
InDet::SCT_ClusterOnTrack::detectorElement
virtual const InDetDD::SiDetectorElement * detectorElement() const override final
returns the detector element, assoicated with the PRD of this class
Definition: SCT_ClusterOnTrack.h:158
Trk::MeasurementBase::m_localParams
LocalParameters m_localParams
Definition: MeasurementBase.h:111
InDet::SiCluster::detectorElement
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...
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
InDet::SiClusterOnTrack::m_globalPosition
Amg::Vector3D m_globalPosition
The global position.
Definition: SiClusterOnTrack.h:111
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
Trk::MeasurementBase::localParameters
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Definition: MeasurementBase.h:132
Trk::MeasurementBase::m_localCovariance
Amg::MatrixX m_localCovariance
Definition: MeasurementBase.h:112
Trk::ObjectCounter< Trk::RIO_OnTrack >::s_numberOfInstantiations
static std::atomic_size_t s_numberOfInstantiations
Definition: TrkObjectCounter.h:22
Trk::RIO_OnTrack::m_identifier
Identifier m_identifier
Identifier of the RIO_OnTrack (comes from the associated Trk::PrepRawData)
Definition: RIO_OnTrack.h:149
Trk::Surface::positionOnSurface
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
Trk::RIO_OnTrack::identify
Identifier identify() const
return the identifier -extends MeasurementBase
Definition: RIO_OnTrack.h:152
get
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition: hcg.cxx:127
InDet::SCT_ClusterOnTrack::SCT_ClusterOnTrack
SCT_ClusterOnTrack()
For POOL only.
Definition: SCT_ClusterOnTrack.cxx:66
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.
InDet::SiClusterOnTrack::dump
virtual MsgStream & dump(MsgStream &out) const override
returns some information about this RIO_OnTrack.
Definition: SiClusterOnTrack.cxx:57