14#ifndef TRK_KALMANUPDATOR_XK_H
15#define TRK_KALMANUPDATOR_XK_H
51 virtual StatusCode
initialize() override final;
52 virtual StatusCode
finalize() override final;
117 bool)
const override final;
121 double&,
int&)
const override final;
124 double&,
int&)
const override final;
129 int&)
const override final;
144 double&,
int&)
const override final;
148 int&)
const override;
166 double&)
const override final;
190 double&)
const override final;
194 double&)
const override final;
197 int&,
double&)
const override final;
201 double&)
const override final;
204 double&)
const override final;
287 (
int,
bool,
const double*,
const double*,
double*,
double*,
double&) ;
290 (
int,
bool,
const double*,
const double*,
double*,
double*,
double&) ;
296 (
bool,
double*,
double*,
double*,
double*,
double&) ;
299 (
int,
bool,
double*,
const double*,
double*,
double*,
double&,
303 (
int,
bool,
double*,
double*,
double*,
double*,
double&)
const;
306 (
int,
bool,
double*,
double*,
double*,
double*,
double&)
const;
308 static
bool invert (
int,
double*,
double*) ;
314 static
double Xi2 (
int,
double*,
double*) ;
Interface for updating Trk::PatternTrackParameters, the fast internal representation of track paramet...
Set of interfaces for methods operating on track states, mainly for Kalman filtering.
static bool trackParametersToUpdator(const TrackParameters &, double *, double *)
static bool invert5(const double *, double *)
virtual StatusCode initialize() override final
std::vector< double > m_cov0
bool updateNoMeasuredWithOneDim(const double *, const double *, double *, double *) const
virtual std::unique_ptr< TrackParameters > removeFromState(const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const override final
the reverse updating or inverse KalmanFilter removes a measurement from the track state,...
static bool localParametersToUpdator(const LocalParameters &, const Amg::MatrixX &, int &, int &, double *, double *)
static bool updateWithTwoDim(int, bool, const double *, const double *, double *, double *, double &)
virtual ~KalmanUpdator_xk()
static std::unique_ptr< TrackParameters > updatorToTrackParameters(const TrackParameters &, double *, double *)
bool updateNoMeasuredWithTwoDim(const double *, const double *, double *, double *) const
static bool invert3(const double *, double *)
static bool updateWithOneDim(int, bool, const double *, const double *, double *, double *, double &)
static int differenceParLoc(int, const double *, const double *, double *)
bool updateNoMeasuredWithAnyDim(const double *, const double *, double *, double *, int) const
static double Xi2(int, double *, double *)
static double Xi2for4(const double *, const double *)
KalmanUpdator_xk(const std::string &, const std::string &, const IInterface *)
static double Xi2for2(const double *, const double *)
virtual std::unique_ptr< TrackParameters > combineStates(const TrackParameters &, const TrackParameters &) const override final
adds to a track state the parameters from another state using a statistical combination - use with ca...
virtual bool addToStateOneDimension(PatternTrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &, PatternTrackParameters &) const override final
add without chi2 calculation, PRD-level, pattern track parameters, specifically 1D
virtual std::pair< AmgVector(5), AmgSymMatrix(5)> * updateParameterDifference(const AmgVector(5) &, const AmgSymMatrix(5) &, const Amg::VectorX &, const Amg::MatrixX &, int, Trk::FitQualityOnSurface *&, bool) const override final
pure AMG interface for reference-track KF, allowing update of parameter differences
virtual std::vector< double > initialErrors() const override final
let the client tools know how the assumptions on the initial precision for non-measured track paramet...
static bool updateWithFiveDim(bool, double *, double *, double *, double *, double &)
static bool invert4(const double *, double *)
bool updateOneDimension(PatternTrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &, int, bool, PatternTrackParameters &, double &) const
bool updateWithOneDimWithBoundary(int, bool, double *, double *, double *, double *, double &) const
static void differenceLocPar(int, const double *, const double *, double *)
bool updateWithTwoDimWithBoundary(int, bool, double *, double *, double *, double *, double &) const
bool updateWithAnyDim(int, bool, double *, const double *, double *, double *, double &, int, int) const
static double Xi2for3(const double *, const double *)
static double Xi2for1(const double *, const double *)
virtual std::unique_ptr< TrackParameters > addToState(const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const override final
add without chi2 calculation, PRD-level, EDM track parameters
static bool updateWithTwoDimParameters(int, bool, const double *, const double *, double *, const double *, double &)
static bool invert(int, double *, double *)
static bool invert2(const double *, double *)
virtual FitQualityOnSurface fullStateFitQuality(const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const override final
estimator for FitQuality on Surface from a full track state, that is a state which contains the curre...
std::unique_ptr< TrackParameters > update(const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &, FitQualityOnSurface *&, int, bool) const
static double Xi2for5(const double *, const double *)
virtual StatusCode finalize() override final
static void testAngles(double *, double *)
virtual FitQualityOnSurface predictedStateFitQuality(const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const override final
estimator for FitQuality on Surface from a predicted track state, that is a state which does not cont...
Definition of ATLAS Math & Geometry primitives (Amg)
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
AmgSymMatrix(5) &GXFTrackState