#include <KFUpdator.h>
Public Member Functions | |
KFUpdator * | clone () const override |
KFUpdator () | |
TrajectoryStateOnSurface | update (const TrajectoryStateOnSurface &, const TrackingRecHit &) const override |
Public Member Functions inherited from TrajectoryStateUpdator | |
TrajectoryStateUpdator () | |
virtual | ~TrajectoryStateUpdator () |
Update trajectory state by combining predicted state and measurement as prescribed in the Kalman Filter algorithm (see R. Fruhwirth, NIM A262 (1987) 444).
x_filtered = x_predicted + K * (measurement - H * x_predicted)
x_filtered, x_predicted filtered and predicted state vectors
measurement measurement vector
H "measurement matrix" projects state vector onto measurement space
K Kalman gain matrix
(formulae for K and error matrix of filtered state not shown)
This implementation works for measurements of all dimensions. It relies on CLHEP double precision vectors and matrices for matrix calculations.
Arguments: TrajectoryState & predicted state
RecHit & reconstructed hit
Initial author: P.Vanlaer 25.02.1999 Ported from ORCA.
Definition at line 32 of file KFUpdator.h.
|
inline |
|
inlineoverridevirtual |
Implements TrajectoryStateUpdator.
Definition at line 44 of file KFUpdator.h.
References KFUpdator().
|
overridevirtual |
Implements TrajectoryStateUpdator.
Definition at line 75 of file KFUpdator.cc.
References TrackingRecHit::dimension(), Exception, and dataset::name.
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), SiStripElectronSeedGenerator::altCheckHitsAndTSOS(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), SeedForPhotonConversion1Leg::buildSeed(), SeedFromConsecutiveHitsCreator::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeedBool(), SiStripElectronSeedGenerator::checkHitsAndTSOS(), SeedFromNuclearInteraction::construct(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), OutInConversionSeedFinder::createSeed(), InOutConversionSeedFinder::createSeed(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), CosmicMuonSmoother::fit(), KFUpdator(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), ElectronSeedGenerator::prepareElTrackSeed(), ConvBremSeedProducer::produce(), TkMSParameterizationBuilder::produce(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), KFBasedPixelFitter::run(), SeedGeneratorForCRack::seeds(), SeedGeneratorForCosmics::seeds(), SimpleCosmicBONSeeder::seeds(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), CosmicMuonSmoother::smooth(), GsfMultiStateUpdator::update(), KFSwitching1DUpdator::update(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().