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

A parameter line including including an line covariance matrix which is interpreted as located in the support point. More...

#include <UncertainParameterLine2D.h>

Collaboration diagram for UncertainParameterLine2D:

Public Member Functions

 UncertainParameterLine2D ()
 Default constructor for ROOT compatibility.
 
 UncertainParameterLine2D (const ParameterLine2D &parameterLine2D, const LineCovariance &lineCovariance=LineUtil::identity(), const double chi2=0.0, const size_t ndf=0)
 Attaching a covariance matrix to a parameter line.
 
const ParameterLine2Doperator-> () 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 ParameterLine2D () const
 Downcast to the "super" class.
 
LineParameters lineParameters () const
 Getter for the three perigee parameters in the order defined by EPerigeeParameter.h.
 
void setLineCovariance (const LineCovariance &lineCovariance)
 Setter for the whole covariance matrix of the line parameters.
 
const LineCovariancelineCovariance () const
 Getter for the whole covariance matrix of the line parameters.
 
double covariance (const ELineParameter &iRow, const ELineParameter &iCol) const
 Getter for individual elements of the covariance matrix.
 
double variance (const ELineParameter &i) const
 Getter for individual diagonal elements of the covariance matrix.
 
double chi2 () const
 Getter for the chi square value of the line fit.
 
void setChi2 (const double chi2)
 Setter for the chi square value of the line fit.
 
std::size_t ndf () const
 Getter for the number of degrees of freediom used in the line fit.
 
void setNDF (std::size_t ndf)
 Setter for the number of degrees of freediom used in the line fit.
 
void invalidate ()
 Sets all line parameters to zero including the covariance matrix.
 
void reverse ()
 Reverses the direction of flight represented by this line.
 
UncertainParameterLine2D reversed () const
 Returns a copy of the line corresponding to the reverse direction of travel.
 
void passiveMoveBy (const Vector2D &by)
 Moves the coordinate system by the vector by. More...
 
LineJacobian moveSupportByJacobian (double byAt) const
 Computes the Jacobi matrix for a move of the coordinate system by the given vector.
 
void moveSupportBy (double byAt)
 Moves the coordinate system by the vector by and calculates the new line and its covariance matrix. More...
 
LineCovariance movedSupportCovarianceBy (double byAt) const
 Getter for the covariance as if he coordinate system was moved by the given vector.
 

Private Attributes

ParameterLine2D m_parameterLine2D
 Memory for the underlying parameter line.
 
LineCovariance m_lineCovariance = LineUtil::identity()
 Memory for the 2x2 covariance matrix of the line phi0 and impact parameter relative to the support point.
 
double m_chi2 = 0.0
 Memory for the chi square value of the fit of this line.
 
size_t m_ndf = 0
 Memory for the number of degrees of freedim of the fit of this line.
 

Detailed Description

A parameter line including including an line covariance matrix which is interpreted as located in the support point.

Definition at line 24 of file UncertainParameterLine2D.h.

Member Function Documentation

◆ moveSupportBy()

void moveSupportBy ( double  byAt)
inline

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

Change is inplace.

Definition at line 171 of file UncertainParameterLine2D.h.

172  {
173  // Move the covariance matrix first to have access to the original parameters
174  LineJacobian jacobian = moveSupportByJacobian(byAt);
177  }
void passiveMoveAtBy(const double delta)
Moves the support point by the given amount of the parameter in the forward direction.
ParameterLine2D m_parameterLine2D
Memory for the underlying parameter line.
LineCovariance m_lineCovariance
Memory for the 2x2 covariance matrix of the line phi0 and impact parameter relative to the support po...
LineJacobian moveSupportByJacobian(double byAt) const
Computes the Jacobi matrix for a move of the coordinate system by the given vector.
static void transport(const JacobianMatrix &jacobian, CovarianceMatrix &cov)
Transport the covariance matrix inplace with the given jacobian matrix.

◆ operator->()

const ParameterLine2D* 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 53 of file UncertainParameterLine2D.h.

◆ passiveMoveBy()

void passiveMoveBy ( const Vector2D by)
inline

Moves the coordinate system by the vector by.

Because the covariance matrix is pinned in the support point it does not change in this move operation

Definition at line 155 of file UncertainParameterLine2D.h.


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