ATLAS Offline Software
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Trk::ParametersCommon< DIM, T > Class Template Referenceabstract

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

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 More...
 
 AmgVector (DIM) m_parameters
 contains the n x n covariance matrix More...
 

Protected Attributes

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

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

template<int DIM, class T >
virtual const Surface& Trk::ParametersCommon< DIM, T >::associatedSurface ( ) const
pure virtual

Access to the Surface associated to the Parameters.

Implemented in Trk::ParametersBase< DIM, T >, Trk::CurvilinearParametersT< DIM, T, S >, and Trk::PatternTrackParameters.

◆ clone()

template<int DIM, class T >
virtual ParametersCommon<DIM, T>* Trk::ParametersCommon< DIM, T >::clone ( ) const
pure virtual

clone method for polymorphic deep copy

Returns
new object copied from the concrete type of this object.

Implemented in Trk::ParametersBase< DIM, T >, Trk::CurvilinearParametersT< DIM, T, S >, and Trk::PatternTrackParameters.

◆ hasSurface()

template<int DIM, class T >
virtual bool Trk::ParametersCommon< DIM, T >::hasSurface ( ) const
pure virtual

Test to see if there's a not null surface ptr.

Implemented in Trk::ParametersBase< DIM, T >, Trk::CurvilinearParametersT< DIM, T, S >, and Trk::PatternTrackParameters.

◆ isCharged()

template<int DIM, class T >
constexpr 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

Return the measurement frame - this is needed for alignment, in particular for StraightLine and Perigee Surface.

  • the default implementation is the RotationMatrix3D of the transform

Implemented in Trk::ParametersBase< DIM, T >, Trk::CurvilinearParametersT< DIM, T, S >, and Trk::PatternTrackParameters.

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

template<int DIM, class T >
virtual SurfaceType Trk::ParametersCommon< DIM, T >::surfaceType ( ) const
pure virtual

Returns the Surface Type enum for the surface used to define the derived class.

Implemented in Trk::ParametersBase< DIM, T >, Trk::CurvilinearParametersT< DIM, T, S >, and Trk::PatternTrackParameters.

◆ type()

template<int DIM, class T >
constexpr virtual ParametersType Trk::ParametersCommon< DIM, T >::type ( ) const
constexprpure virtual

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

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

contains the n parameters

Implemented in Trk::ParametersBase< DIM, T >, and Trk::CurvilinearParametersT< DIM, T, S >.

Member Data Documentation

◆ dim

template<int DIM, class T >
constexpr 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.

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