ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::ParametersCommon< DIM, T > Class Template Referenceabstract

Common class for neutral, charged and Pattern Track Parameters. More...

#include <ParametersCommon.h>

Inheritance diagram for Trk::ParametersCommon< DIM, T >:
Collaboration diagram for Trk::ParametersCommon< DIM, T >:

Public Member Functions

const AmgVector (DIM) &parameters() const
 Access methods for the parameters.
 AmgVector (DIM) &parameters()
const AmgSymMatrix (DIM) *covariance() const
 Access method for the covariance matrix - returns nullptr if no covariance matrix is given.
 AmgSymMatrix (DIM) *covariance()
constexpr bool isCharged () const
 Returns true if Charged or false if Neutral.
Amg::Vector2D localPosition () const
 Access method for the local coordinates, \((loc1,loc2)\) local parameter definitions differ for each surface type.
void setParameters (const AmgVector(DIM) &param)
 set parameters
void setCovariance (const AmgSymMatrix(DIM) &cov)
 set covariance
void updateParameters (const AmgVector(DIM) &, const AmgSymMatrix(DIM) &)
 Update parameters and covariance , passing covariance by ref.
void updateParameters (const AmgVector(DIM) &)
 Update parameters.
virtual bool hasSurface () const =0
 Test to see if there's a not null surface ptr.
virtual const SurfaceassociatedSurface () const =0
 Access to the Surface associated to the Parameters.
virtual Amg::RotationMatrix3D measurementFrame () const =0
 Return the measurement frame - this is needed for alignment, in particular for StraightLine and Perigee Surface.
virtual ParametersCommon< DIM, T > * clone () const =0
 clone method for polymorphic deep copy
virtual constexpr ParametersType type () const =0
 Return the ParametersType enum.
virtual SurfaceType surfaceType () const =0
 Returns the Surface Type enum for the surface used to define the derived class.
virtual ~ParametersCommon ()=default
 virtual Destructor

Static Public Attributes

static constexpr int dim = DIM

Protected Member Functions

 ParametersCommon ()=default
 ParametersCommon (ParametersCommon &&) noexcept=default
ParametersCommonoperator= (ParametersCommon &&) noexcept=default
 ParametersCommon (const ParametersCommon &)=default
ParametersCommonoperator= (const ParametersCommon &)=default
 ParametersCommon (const AmgVector(DIM) parameters, std::optional< AmgSymMatrix(DIM)> &&covariance, const T chargeDef)
 ParametersCommon (std::optional< AmgSymMatrix(DIM)> &&covariance)
 ParametersCommon (const AmgVector(DIM) &parameters, std::optional< AmgSymMatrix(DIM)> &&covariance=std::nullopt)
virtual void updateParametersHelper (const AmgVector(DIM) &)=0
 contains the n parameters
 AmgVector (DIM) m_parameters
 contains the n x n covariance matrix

Protected Attributes

std::optional< AmgSymMatrix(DIM)> m_covariance = std::nullopt
 charge definition for this track
m_chargeDef {}
 charge definition for this track

Detailed Description

template<int DIM, class T>
class Trk::ParametersCommon< DIM, T >

Common class for neutral, charged and Pattern Track Parameters.

Author
Christos Anastopoulos

Definition at line 45 of file ParametersCommon.h.

Constructor & Destructor Documentation

◆ ~ParametersCommon()

template<int DIM, class T>
virtual Trk::ParametersCommon< DIM, T >::~ParametersCommon ( )
virtualdefault

virtual Destructor

◆ ParametersCommon() [1/6]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::ParametersCommon ( )
protecteddefault

◆ ParametersCommon() [2/6]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::ParametersCommon ( ParametersCommon< DIM, T > && )
protecteddefaultnoexcept

◆ ParametersCommon() [3/6]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::ParametersCommon ( const ParametersCommon< DIM, T > & )
protecteddefault

◆ ParametersCommon() [4/6]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::ParametersCommon ( const AmgVector(DIM) parameters,
std::optional< AmgSymMatrix(DIM)> && covariance,
const T chargeDef )
protected

◆ ParametersCommon() [5/6]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::ParametersCommon ( std::optional< AmgSymMatrix(DIM)> && covariance)
protected

◆ ParametersCommon() [6/6]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::ParametersCommon ( const AmgVector(DIM) & parameters,
std::optional< AmgSymMatrix(DIM)> && covariance = std::nullopt )
protected

Member Function Documentation

◆ AmgSymMatrix() [1/2]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::AmgSymMatrix ( DIM )

◆ AmgSymMatrix() [2/2]

template<int DIM, class T>
const Trk::ParametersCommon< DIM, T >::AmgSymMatrix ( DIM ) const

Access method for the covariance matrix - returns nullptr if no covariance matrix is given.

◆ AmgVector() [1/3]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::AmgVector ( DIM ) &

◆ AmgVector() [2/3]

template<int DIM, class T>
const Trk::ParametersCommon< DIM, T >::AmgVector ( DIM ) const &

Access methods for the parameters.

◆ AmgVector() [3/3]

template<int DIM, class T>
Trk::ParametersCommon< DIM, T >::AmgVector ( DIM )
protected

contains the n x n covariance matrix

◆ associatedSurface()

◆ clone()

◆ hasSurface()

◆ isCharged()

template<int DIM, class T>
bool Trk::ParametersCommon< DIM, T >::isCharged ( ) const
constexpr

Returns true if Charged or false if Neutral.

◆ localPosition()

template<int DIM, class T>
Amg::Vector2D Trk::ParametersCommon< DIM, T >::localPosition ( ) const

Access method for the local coordinates, \((loc1,loc2)\) local parameter definitions differ for each surface type.

◆ measurementFrame()

template<int DIM, class T>
virtual Amg::RotationMatrix3D Trk::ParametersCommon< DIM, T >::measurementFrame ( ) const
pure virtual

◆ operator=() [1/2]

template<int DIM, class T>
ParametersCommon & Trk::ParametersCommon< DIM, T >::operator= ( const ParametersCommon< DIM, T > & )
protecteddefault

◆ operator=() [2/2]

template<int DIM, class T>
ParametersCommon & Trk::ParametersCommon< DIM, T >::operator= ( ParametersCommon< DIM, T > && )
protecteddefaultnoexcept

◆ setCovariance()

template<int DIM, class T>
void Trk::ParametersCommon< DIM, T >::setCovariance ( const AmgSymMatrix(DIM) & cov)

set covariance

◆ setParameters()

template<int DIM, class T>
void Trk::ParametersCommon< DIM, T >::setParameters ( const AmgVector(DIM) & param)

set parameters

◆ surfaceType()

◆ type()

◆ updateParameters() [1/2]

template<int DIM, class T>
void Trk::ParametersCommon< DIM, T >::updateParameters ( const AmgVector(DIM) & )

Update parameters.

Derived classes override the implementation via updateParametersHelper as this could possibly lead to updating other data members

◆ updateParameters() [2/2]

template<int DIM, class T>
void Trk::ParametersCommon< DIM, T >::updateParameters ( const AmgVector(DIM) & ,
const AmgSymMatrix(DIM) &  )

Update parameters and covariance , passing covariance by ref.

A covariance is created if one does not exist. Otherwise in place update occurs via assignment.

Derived classes override the implementation via updateParametersHelper as this could possibly lead to updating other data members

◆ updateParametersHelper()

Member Data Documentation

◆ dim

template<int DIM, class T>
int Trk::ParametersCommon< DIM, T >::dim = DIM
staticconstexpr

Definition at line 50 of file ParametersCommon.h.

◆ m_chargeDef

template<int DIM, class T>
T Trk::ParametersCommon< DIM, T >::m_chargeDef {}
protected

charge definition for this track

Definition at line 149 of file ParametersCommon.h.

149{};

◆ m_covariance

template<int DIM, class T>
std::optional<AmgSymMatrix(DIM)> Trk::ParametersCommon< DIM, T >::m_covariance = std::nullopt
protected

charge definition for this track

Definition at line 147 of file ParametersCommon.h.


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