CbmRoot
Loading...
Searching...
No Matches
cbm::algo::kf::MeasurementXy< DataT > Class Template Reference

The class describes a 2D - measurement (x, y) in XY coordinate system. More...

#include <KfMeasurementXy.h>

Inheritance diagram for cbm::algo::kf::MeasurementXy< DataT >:
[legend]

Public Member Functions

 MeasurementXy ()=default
 default constructor
 
 MeasurementXy (DataT x, DataT y, DataT dx2, DataT dy2, DataT dxy, DataT ndfX, DataT ndfY)
 
template<typename DataTb >
void Set (const MeasurementXy< DataTb > &m)
 
void Set (const MeasurementXy< fvec > &m, const int im)
 
template<typename DataTb >
void SetOneEntry (const int i, const MeasurementXy< DataTb > &m)
 
void SetOneEntry (const int i, const MeasurementXy< fvec > &m, const int im)
 
void SetX (DataT x)
 
void SetY (DataT y)
 
void SetDx2 (DataT dx2)
 
void SetDy2 (DataT dy2)
 
void SetDxy (DataT dxy)
 
void SetNdfX (DataT ndfX)
 
void SetNdfY (DataT ndfY)
 
void SetCov (DataT dx2, DataT dxy, DataT dy2)
 
DataT X () const
 
DataT Y () const
 
DataT Dx2 () const
 
DataT Dy2 () const
 
DataT Dxy () const
 
DataT NdfX () const
 
DataT NdfY () const
 
DataT & X ()
 
DataT & Y ()
 
DataT & Dx2 ()
 
DataT & Dy2 ()
 
DataT & Dxy ()
 
DataT & NdfX ()
 
DataT & NdfY ()
 
std::string ToString (int indentLevel=0) const
 
bool IsFinite () const
 Checks, if all fields are finite.
 
bool IsUndefined () const
 Checks, if some fields are undefined.
 
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 

Private Member Functions

template<typename TdataB , bool TDoAllA, bool TDoAllB>
void CopyBase (const int ia, const MeasurementXy< TdataB > &Tb, const int ib)
 Copies all/one entries from the other class.
 

Private Attributes

DataT fX {0.}
 x coordinate of the measurement
 
DataT fY {0.}
 y coordinate of the measurement
 
DataT fDx2 {1.}
 rms^2 of the x coordinate measurement
 
DataT fDy2 {1.}
 rms^2 of the y coordinate measurement
 
DataT fDxy {0.}
 covariance of the x and y coordinate measurements
 
DataT fNdfX = 0.
 ndf for the x coordinate measurement
 
DataT fNdfY = 0.
 ndf for the y coordinate measurement
 

Friends

class boost::serialization::access
 Serialization function.
 

Detailed Description

template<typename DataT>
class cbm::algo::kf::MeasurementXy< DataT >

The class describes a 2D - measurement (x, y) in XY coordinate system.

The measurement has a finite resolution, i.e. the measurement is not a point, but a distribution with a certain rms. The measurement components may be used in the chi2 calculation or not The measurement may be a SIMD vector of values, when DataT is fvec type

Definition at line 28 of file KfMeasurementXy.h.

Constructor & Destructor Documentation

◆ MeasurementXy() [1/2]

template<typename DataT >
cbm::algo::kf::MeasurementXy< DataT >::MeasurementXy ( )
default

default constructor

◆ MeasurementXy() [2/2]

template<typename DataT >
cbm::algo::kf::MeasurementXy< DataT >::MeasurementXy ( DataT x,
DataT y,
DataT dx2,
DataT dy2,
DataT dxy,
DataT ndfX,
DataT ndfY )
inline

constructor

Parameters
xx coordinate of the measurement
yy coordinate of the measurement
dx2rms^2 of the x coordinate measurement
dy2rms^2 of the y coordinate measurement
dxycovariance of the x and y coordinate measurements
ndfXnumber of degrees of freedom for the x coordinate measurement if ndfX == 1, the measurement is used in fit and in the chi2 calculation if ndfX == 0, the measurement is used in fit, but not used in the chi2 calculation
ndfYnumber of degrees of freedom for the y coordinate measurement if ndfY == 1, the measurement is used in fit and in the chi2 calculation if ndfY == 0, the measurement is used in fit, but not used in the chi2 calculation

Definition at line 47 of file KfMeasurementXy.h.

Member Function Documentation

◆ CopyBase()

template<typename TdataA >
template<typename TdataB , bool TDoAllA, bool TDoAllB>
void cbm::algo::kf::MeasurementXy< TdataA >::CopyBase ( const int ia,
const MeasurementXy< TdataB > & Tb,
const int ib )
inlineprivate

Copies all/one entries from the other class.

Template Parameters
TdataBType of the other class
TDoAllAIf true, all entries of the current class must be set
TDoAllBIf true, all entries of the other class must be used
Parameters
iaIndex of SIMD vector element of the current class
TbOther class
ibIndex of SIMD vector element of the other class

Definition at line 200 of file KfMeasurementXy.h.

References cbm::algo::kf::MeasurementXy< DataT >::Dx2(), cbm::algo::kf::MeasurementXy< DataT >::Dxy(), cbm::algo::kf::MeasurementXy< DataT >::Dy2(), cbm::algo::kf::MeasurementXy< DataT >::NdfX(), cbm::algo::kf::MeasurementXy< DataT >::NdfY(), cbm::algo::kf::MeasurementXy< DataT >::X(), and cbm::algo::kf::MeasurementXy< DataT >::Y().

◆ Dx2() [1/2]

template<typename DataT >
DataT & cbm::algo::kf::MeasurementXy< DataT >::Dx2 ( )
inline

Definition at line 118 of file KfMeasurementXy.h.

◆ Dx2() [2/2]

◆ Dxy() [1/2]

template<typename DataT >
DataT & cbm::algo::kf::MeasurementXy< DataT >::Dxy ( )
inline

Definition at line 120 of file KfMeasurementXy.h.

◆ Dxy() [2/2]

◆ Dy2() [1/2]

template<typename DataT >
DataT & cbm::algo::kf::MeasurementXy< DataT >::Dy2 ( )
inline

Definition at line 119 of file KfMeasurementXy.h.

◆ Dy2() [2/2]

◆ IsFinite()

template<typename DataT >
bool cbm::algo::kf::MeasurementXy< DataT >::IsFinite ( ) const
inline

Checks, if all fields are finite.

Definition at line 132 of file KfMeasurementXy.h.

◆ IsUndefined()

template<typename DataT >
bool cbm::algo::kf::MeasurementXy< DataT >::IsUndefined ( ) const
inline

Checks, if some fields are undefined.

Definition at line 139 of file KfMeasurementXy.h.

◆ NdfX() [1/2]

template<typename DataT >
DataT & cbm::algo::kf::MeasurementXy< DataT >::NdfX ( )
inline

Definition at line 121 of file KfMeasurementXy.h.

◆ NdfX() [2/2]

◆ NdfY() [1/2]

template<typename DataT >
DataT & cbm::algo::kf::MeasurementXy< DataT >::NdfY ( )
inline

Definition at line 122 of file KfMeasurementXy.h.

◆ NdfY() [2/2]

◆ serialize()

template<typename DataT >
template<class Archive >
void cbm::algo::kf::MeasurementXy< DataT >::serialize ( Archive & ar,
const unsigned int  )
inline

Definition at line 149 of file KfMeasurementXy.h.

◆ Set() [1/2]

template<typename DataT >
template<typename DataTb >
void cbm::algo::kf::MeasurementXy< DataT >::Set ( const MeasurementXy< DataTb > & m)
inline

Set all SIMD entries from all SIMD entries of the other class It works for scalar and fvec types, except of the case when DataT is scalar and TdataB is fvec.

Definition at line 63 of file KfMeasurementXy.h.

◆ Set() [2/2]

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::Set ( const MeasurementXy< fvec > & m,
const int im )
inline

Set all SIMD entries from one SIMD entry of the other class It also works when DataT is scalar

Definition at line 70 of file KfMeasurementXy.h.

◆ SetCov()

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetCov ( DataT dx2,
DataT dxy,
DataT dy2 )
inline

Definition at line 98 of file KfMeasurementXy.h.

Referenced by cbm::algo::ca::TrackFitter::FitCaTracks().

◆ SetDx2()

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetDx2 ( DataT dx2)
inline

◆ SetDxy()

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetDxy ( DataT dxy)
inline

◆ SetDy2()

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetDy2 ( DataT dy2)
inline

◆ SetNdfX()

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetNdfX ( DataT ndfX)
inline

Definition at line 96 of file KfMeasurementXy.h.

Referenced by CbmKfTrackFitter::CreateGlobalTrack(), and CbmL1PFFitter::Fit().

◆ SetNdfY()

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetNdfY ( DataT ndfY)
inline

Definition at line 97 of file KfMeasurementXy.h.

Referenced by CbmKfTrackFitter::CreateGlobalTrack(), and CbmL1PFFitter::Fit().

◆ SetOneEntry() [1/2]

template<typename DataT >
template<typename DataTb >
void cbm::algo::kf::MeasurementXy< DataT >::SetOneEntry ( const int i,
const MeasurementXy< DataTb > & m )
inline

Set one SIMD entry from one SIMD entry of the other class It only works when DataT is fvec, TdataB is scalar

Definition at line 75 of file KfMeasurementXy.h.

◆ SetOneEntry() [2/2]

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetOneEntry ( const int i,
const MeasurementXy< fvec > & m,
const int im )
inline

Set one SIMD entry from one SIMD entry of the other class It only works when DataT is fvec, TdataB is fvec

Definition at line 82 of file KfMeasurementXy.h.

◆ SetX()

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetX ( DataT x)
inline

Setters and getters

Definition at line 91 of file KfMeasurementXy.h.

References x.

Referenced by CbmBbaAlignmentTask::ApplyAlignment(), CbmKfTrackFitter::CreateGlobalTrack(), and CbmL1PFFitter::Fit().

◆ SetY()

template<typename DataT >
void cbm::algo::kf::MeasurementXy< DataT >::SetY ( DataT y)
inline

◆ ToString()

template<typename DataT >
std::string cbm::algo::kf::MeasurementXy< DataT >::ToString ( int indentLevel = 0) const

Methods for debugging String representation of class contents

Parameters
indentLevelnumber of indent characters in the output

Definition at line 19 of file KfMeasurementXy.cxx.

◆ X() [1/2]

template<typename DataT >
DataT & cbm::algo::kf::MeasurementXy< DataT >::X ( )
inline

references, to ease assignment to SIMD vector components when DataT has fvec type

Definition at line 116 of file KfMeasurementXy.h.

◆ X() [2/2]

◆ Y() [1/2]

template<typename DataT >
DataT & cbm::algo::kf::MeasurementXy< DataT >::Y ( )
inline

Definition at line 117 of file KfMeasurementXy.h.

◆ Y() [2/2]

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<typename DataT >
boost::serialization::access
friend

Serialization function.

Definition at line 30 of file KfMeasurementXy.h.

Member Data Documentation

◆ fDx2

template<typename DataT >
DataT cbm::algo::kf::MeasurementXy< DataT >::fDx2 {1.}
private

rms^2 of the x coordinate measurement

Definition at line 182 of file KfMeasurementXy.h.

◆ fDxy

template<typename DataT >
DataT cbm::algo::kf::MeasurementXy< DataT >::fDxy {0.}
private

covariance of the x and y coordinate measurements

Definition at line 184 of file KfMeasurementXy.h.

◆ fDy2

template<typename DataT >
DataT cbm::algo::kf::MeasurementXy< DataT >::fDy2 {1.}
private

rms^2 of the y coordinate measurement

Definition at line 183 of file KfMeasurementXy.h.

◆ fNdfX

template<typename DataT >
DataT cbm::algo::kf::MeasurementXy< DataT >::fNdfX = 0.
private

ndf for the x coordinate measurement

number of degrees of freedom (used for chi2 calculation) if ndf == 1, the measurement is used in the chi2 calculation if ndf == 0, the measurement is not used in the chi2 calculation

Definition at line 190 of file KfMeasurementXy.h.

◆ fNdfY

template<typename DataT >
DataT cbm::algo::kf::MeasurementXy< DataT >::fNdfY = 0.
private

ndf for the y coordinate measurement

Definition at line 191 of file KfMeasurementXy.h.

◆ fX

template<typename DataT >
DataT cbm::algo::kf::MeasurementXy< DataT >::fX {0.}
private

x coordinate of the measurement


Data members

Definition at line 180 of file KfMeasurementXy.h.

◆ fY

template<typename DataT >
DataT cbm::algo::kf::MeasurementXy< DataT >::fY {0.}
private

y coordinate of the measurement

Definition at line 181 of file KfMeasurementXy.h.


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