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,
68 using namespace NLineParameterIndices;
163 using namespace NLineParameterIndices;
A line with a support point and tangential vector.
void reverse()
Reverses the tangential vector inplace.
void passiveMoveBy(const Vector2D &by)
Moves the coordinate system in the given direction in place.
void passiveMoveAtBy(const double delta)
Moves the support point by the given amount of the parameter in the forward direction.
void invalidate()
Clear all information from the line.
ParameterLine2D reversed() const
Makes a copy line which has the opposite tangential vector but same support point.
const Vector2D & tangential() const
Gives the tangential vector of the line.
A matrix implementation to be used as an interface typ through out the track finder.
A parameter line including including an line covariance matrix which is interpreted as located in the...
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...
double phi() const
Gives the azimuth angle being the angle to the x axes ( range -M_PI to M_PI )
double norm() const
Calculates the length of the vector.
ELineParameter
Enumeration to address the individual helix parameters in a vector or matrix.
Abstract base class for different kinds of events.
static CovarianceMatrix transported(const JacobianMatrix &jacobian, const CovarianceMatrix &cov)
Return a copy of the covariance matrix transported with the given jacobian matrix.
static void transport(const JacobianMatrix &jacobian, CovarianceMatrix &cov)
Transport the covariance matrix inplace with the given jacobian matrix.
static CovarianceMatrix identity()
Returns an identity matrix.
static void reverse(CovarianceMatrix &cov)
Reverse the covariance matrix inplace.
static CovarianceMatrix reversed(const CovarianceMatrix &cov)
Return a copy of the reversed covariance matrix.