10#include <tracking/trackFindingCDC/geometry/PerigeeCircle.h>
11#include <tracking/trackFindingCDC/geometry/PerigeeParameters.h>
22 namespace TrackFindingCDC {
46 const double chi2 = 0.0,
64 const double chi2 = 0.0,
76 const double chi2 = 0.0,
88 const double chi2 = 0.0,
99 const PerigeeParameters& parameters,
101 const double chi2 = 0.0,
162 double covariance(
const EPerigeeParameter& iRow,
const EPerigeeParameter& iCol)
const
162 double covariance(
const EPerigeeParameter& iRow,
const EPerigeeParameter& iCol)
const {
…}
Extension of the generalized circle also caching the perigee coordinates.
Adds an uncertainty matrix to the circle in perigee parameterisation.
const PerigeeCircle & perigeeCircle() const
Getter for the underlying circle.
UncertainPerigeeCircle()
Default constructor for ROOT compatibility.
double covariance(const EPerigeeParameter &iRow, const EPerigeeParameter &iCol) const
Getter for individual elements of the covariance matrix.
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.
void reverse()
Flips the orientation of the circle in place.
void passiveMoveBy(const Vector2D &by)
Moves the coordinate system by the vector by and calculates the new perigee and its covariance matrix...
double variance(const EPerigeeParameter &i) const
Getter for individual diagonal elements of the covariance matrix.
double m_chi2
Memory for the chi square value of the fit of this circle.
void invalidate()
Sets all circle parameters to zero including the covariance matrix.
UncertainPerigeeCircle(const PerigeeParameters ¶meters, const PerigeeCovariance &perigeeCovariance=PerigeeUtil::identity(), const double chi2=0.0, std::size_t ndf=0)
Constructor taking all stored parameters as a SVector.
PerigeeParameters perigeeParameters() const
Getter for the perigee parameters in the order defined by EPerigeeParameter.h.
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.
void setPerigeeCovariance(const PerigeeCovariance &perigeeCovariance)
Setter for the whole covariance matrix of the perigee parameters.
PerigeeCovariance m_perigeeCovariance
Memory for the 3x3 covariance matrix of the perigee parameters.
double chi2() const
Getter for the chi square value of the circle fit.
void setNDF(std::size_t ndf)
Setter for the number of degrees of freediom used in the circle fit.
size_t m_ndf
Memory for the number of degrees of freedim of the fit of this circle.
UncertainPerigeeCircle reversed() const
Returns a copy of the circle with opposite orientation.
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.
PerigeeCovariance passiveMovedCovarianceBy(const Vector2D &by) const
Calculates the jacobian matrix that is needed for the translation of the parameter covariance for a p...
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.
void setChi2(const double chi2)
Setter for the chi square value of the circle fit.
const PerigeeCovariance & perigeeCovariance() const
Getter for the whole covariance matrix of the perigee parameters.
std::size_t ndf() const
Getter for the number of degrees of freediom used in the circle fit.
static UncertainPerigeeCircle average(const UncertainPerigeeCircle &fromPerigeeCircle, const UncertainPerigeeCircle &toPerigeeCircle)
Average the parameters of the two given perigee circles properly considering their covariance matrix.
PerigeeCircle m_perigeeCircle
Memory for the underlying circle.
const PerigeeCircle * 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...
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)