Belle II Software  release-08-01-10
UncertainPerigeeCircle Class Reference

Adds an uncertainty matrix to the circle in perigee parameterisation. More...

#include <UncertainPerigeeCircle.h>

Collaboration diagram for UncertainPerigeeCircle:

Public Member Functions

 UncertainPerigeeCircle ()
 Default constructor for ROOT compatibility.
 
 UncertainPerigeeCircle (const double curvature, const double phi0Vec, const double impact, const PerigeeCovariance &perigeeCovariance=PerigeeUtil::identity(), const double chi2=0.0, std::size_t ndf=0)
 Composes an uncertain perigee circle from the perigee parameters and a 3x3 covariance matrix. More...
 
 UncertainPerigeeCircle (const double curvature, const Vector2D &phi0, const double impact, const PerigeeCovariance &perigeeCovariance=PerigeeUtil::identity(), const double chi2=0.0, std::size_t ndf=0)
 Composes an uncertain perigee circle from the perigee parameters and a 3x3 covariance matrix. More...
 
 UncertainPerigeeCircle (const PerigeeCircle &perigeeCircle, const PerigeeCovariance &perigeeCovariance=PerigeeUtil::identity(), const double chi2=0.0, std::size_t ndf=0)
 Augments a plain perigee circle with a covariance matrix. Covariance defaults to zero.
 
 UncertainPerigeeCircle (const GeneralizedCircle &generalizedCircle, const PerigeeCovariance &perigeeCovariance=PerigeeUtil::identity(), const double chi2=0.0, std::size_t ndf=0)
 Augments a plain perigee circle with a covariance matrix. Covariance defaults to zero.
 
 UncertainPerigeeCircle (const PerigeeParameters &parameters, const PerigeeCovariance &perigeeCovariance=PerigeeUtil::identity(), const double chi2=0.0, std::size_t ndf=0)
 Constructor taking all stored parameters as a SVector.
 
const PerigeeCircleoperator-> () const
 Access to the constant interface of the underlying parameter line Allows the user of this "super" class to use the getters and other methods to get inforamation about the line but disallows mutation of internal state. More...
 
 operator const PerigeeCircle & () const
 Downcast to the "super" class.
 
const PerigeeCircleperigeeCircle () const
 Getter for the underlying circle.
 
PerigeeParameters perigeeParameters () const
 Getter for the perigee parameters in the order defined by EPerigeeParameter.h.
 
void setPerigeeCovariance (const PerigeeCovariance &perigeeCovariance)
 Setter for the whole covariance matrix of the perigee parameters.
 
const PerigeeCovarianceperigeeCovariance () const
 Getter for the whole covariance matrix of the perigee parameters.
 
double covariance (const EPerigeeParameter &iRow, const EPerigeeParameter &iCol) const
 Getter for individual elements of the covariance matrix.
 
double variance (const EPerigeeParameter &i) const
 Getter for individual diagonal elements of the covariance matrix.
 
double chi2 () const
 Getter for the chi square value of the circle fit.
 
void setChi2 (const double chi2)
 Setter for the chi square value of the circle fit.
 
std::size_t ndf () const
 Getter for the number of degrees of freediom used in the circle fit.
 
void setNDF (std::size_t ndf)
 Setter for the number of degrees of freediom used in the circle fit.
 
void invalidate ()
 Sets all circle parameters to zero including the covariance matrix.
 
void reverse ()
 Flips the orientation of the circle in place.
 
UncertainPerigeeCircle reversed () const
 Returns a copy of the circle with opposite orientation.
 
void passiveMoveBy (const Vector2D &by)
 Moves the coordinate system by the vector by and calculates the new perigee and its covariance matrix. More...
 
PerigeeCovariance passiveMovedCovarianceBy (const Vector2D &by) const
 Calculates the jacobian matrix that is needed for the translation of the parameter covariance for a passive move of the coordinate system.
 

Static Public Member Functions

static UncertainPerigeeCircle average (const UncertainPerigeeCircle &fromPerigeeCircle, const UncertainPerigeeCircle &toPerigeeCircle)
 Average the parameters of the two given perigee circles properly considering their covariance matrix.
 

Private Attributes

PerigeeCircle m_perigeeCircle
 Memory for the underlying circle.
 
PerigeeCovariance m_perigeeCovariance = PerigeeUtil::identity()
 Memory for the 3x3 covariance matrix of the perigee parameters.
 
double m_chi2 = 0.0
 Memory for the chi square value of the fit of this circle.
 
size_t m_ndf = 0.0
 Memory for the number of degrees of freedim of the fit of this circle.
 

Detailed Description

Adds an uncertainty matrix to the circle in perigee parameterisation.

Definition at line 29 of file UncertainPerigeeCircle.h.

Constructor & Destructor Documentation

◆ UncertainPerigeeCircle() [1/2]

UncertainPerigeeCircle ( const double  curvature,
const double  phi0Vec,
const double  impact,
const PerigeeCovariance perigeeCovariance = PerigeeUtil::identity(),
const double  chi2 = 0.0,
std::size_t  ndf = 0 
)
inline

Composes an uncertain perigee circle from the perigee parameters and a 3x3 covariance matrix.

Covariance matrix defaults to a zero matrix.

Definition at line 42 of file UncertainPerigeeCircle.h.

48  : m_perigeeCircle(curvature, phi0Vec, impact)
50  , m_chi2(chi2)
51  , m_ndf(ndf)
52  {
53  }
double m_chi2
Memory for the chi square value of the fit of this circle.
PerigeeCovariance m_perigeeCovariance
Memory for the 3x3 covariance matrix of the perigee parameters.
const PerigeeCovariance & perigeeCovariance() const
Getter for the whole covariance matrix of the perigee parameters.
double chi2() const
Getter for the chi square value of the circle fit.
size_t m_ndf
Memory for the number of degrees of freedim of the fit of this circle.
std::size_t ndf() const
Getter for the number of degrees of freediom used in the circle fit.
PerigeeCircle m_perigeeCircle
Memory for the underlying circle.

◆ UncertainPerigeeCircle() [2/2]

UncertainPerigeeCircle ( const double  curvature,
const Vector2D phi0,
const double  impact,
const PerigeeCovariance perigeeCovariance = PerigeeUtil::identity(),
const double  chi2 = 0.0,
std::size_t  ndf = 0 
)
inline

Composes an uncertain perigee circle from the perigee parameters and a 3x3 covariance matrix.

Covariance matrix defaults to a zero matrix

Definition at line 60 of file UncertainPerigeeCircle.h.

Member Function Documentation

◆ operator->()

const PerigeeCircle* operator-> ( ) const
inline

Access to the constant interface of the underlying parameter line Allows the user of this "super" class to use the getters and other methods to get inforamation about the line but disallows mutation of internal state.

This ensures that the parameters are not changed without proper adjustment to the covariance matrix in this class, which can be achieved by the more limited set of methods in this class accessable by normal . method calls

Definition at line 125 of file UncertainPerigeeCircle.h.

◆ passiveMoveBy()

void passiveMoveBy ( const Vector2D by)
inline

Moves the coordinate system by the vector by and calculates the new perigee and its covariance matrix.

Change is inplace.

Definition at line 228 of file UncertainPerigeeCircle.h.


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