10#include <tracking/trackFindingCDC/geometry/LineParameters.h>
11#include <tracking/trackFindingCDC/geometry/ParameterLine2D.h>
12#include <tracking/trackFindingCDC/geometry/Vector2D.h>
20 namespace TrackFindingCDC {
35 const double chi2 = 0.0,
69 LineParameters result;
88 double covariance(
const ELineParameter& iRow,
const ELineParameter& iCol)
const
A line with a support point and tangential vector.
double variance(const ELineParameter &i) const
Getter for individual diagonal elements of the covariance matrix.
UncertainParameterLine2D(const ParameterLine2D ¶meterLine2D, const LineCovariance &lineCovariance=LineUtil::identity(), const double chi2=0.0, const size_t ndf=0)
Attaching a covariance matrix to a parameter line.
const LineCovariance & lineCovariance() const
Getter for the whole covariance matrix of the line parameters.
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.
LineCovariance movedSupportCovarianceBy(double byAt) const
Getter for the covariance as if he coordinate system was moved by the given vector.
void setLineCovariance(const LineCovariance &lineCovariance)
Setter for the whole covariance matrix of the line parameters.
void passiveMoveBy(const Vector2D &by)
Moves the coordinate system by the vector by.
UncertainParameterLine2D()
Default constructor for ROOT compatibility.
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...
double m_chi2
Memory for the chi square value of the fit of this line.
void invalidate()
Sets all line parameters to zero including the covariance matrix.
void moveSupportBy(double byAt)
Moves the coordinate system by the vector by and calculates the new line and its covariance matrix.
double chi2() const
Getter for the chi square value of the line fit.
void setNDF(std::size_t ndf)
Setter for the number of degrees of freediom used in the line fit.
size_t m_ndf
Memory for the number of degrees of freedim of the fit of this line.
LineJacobian moveSupportByJacobian(double byAt) const
Computes the Jacobi matrix for a move of the coordinate system by the given vector.
void setChi2(const double chi2)
Setter for the chi square value of the line fit.
double covariance(const ELineParameter &iRow, const ELineParameter &iCol) const
Getter for individual elements of the covariance matrix.
std::size_t ndf() const
Getter for the number of degrees of freediom used in the line fit.
LineParameters lineParameters() const
Getter for the three perigee parameters in the order defined by EPerigeeParameter....
const ParameterLine2D * operator->() const
Access to the constant interface of the underlying parameter line Allows the user of this "super" cla...
A two dimensional vector which is equipped with functions for correct handling of orientation relate...
Namespace to hide the contained enum constants.
Abstract base class for different kinds of events.
static CovarianceMatrix transported(const JacobianMatrix &jacobian, const CovarianceMatrix &cov)
static void transport(const JacobianMatrix &jacobian, CovarianceMatrix &cov)
static CovarianceMatrix identity()
static void reverse(CovarianceMatrix &cov)
static CovarianceMatrix reversed(const CovarianceMatrix &cov)