CMS 3D CMS Logo

KFUpdator Class Reference

Update trajectory state by combining predicted state and measurement as prescribed in the Kalman Filter algorithm (see R. More...

#include <TrackingTools/KalmanUpdators/interface/KFUpdator.h>

Inheritance diagram for KFUpdator:

TrajectoryStateUpdator

List of all members.

Public Member Functions

virtual KFUpdatorclone () const
 KFUpdator ()
template<unsigned int D>
TrajectoryStateOnSurface update (const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const
TrajectoryStateOnSurface update (const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const


Detailed Description

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.

Date
2007/05/09 13:50:25
Revision
1.3
Author:
vanlaer, cerati

Definition at line 34 of file KFUpdator.h.


Constructor & Destructor Documentation

KFUpdator::KFUpdator (  )  [inline]

Definition at line 40 of file KFUpdator.h.

Referenced by clone().

00040 {}


Member Function Documentation

virtual KFUpdator* KFUpdator::clone ( void   )  const [inline, virtual]

Implements TrajectoryStateUpdator.

Definition at line 48 of file KFUpdator.h.

References KFUpdator().

00048                                     {
00049     return new KFUpdator(*this);
00050   }

template<unsigned int D>
TrajectoryStateOnSurface KFUpdator::update ( const TrajectoryStateOnSurface ,
const TransientTrackingRecHit  
) const [inline, virtual]

Implements TrajectoryStateUpdator.

TrajectoryStateOnSurface KFUpdator::update ( const TrajectoryStateOnSurface tsos,
const TransientTrackingRecHit aRecHit 
) const [inline, virtual]

Implements TrajectoryStateUpdator.

Definition at line 7 of file KFUpdator.cc.

References TrackingRecHit::dimension(), Exception, TransientTrackingRecHit::hit(), and name.

Referenced by ElectronSiStripSeedGenerator::checkHitsAndTSOS(), SeedFromNuclearInteraction::construct(), SeedFromConsecutiveHits::construct(), OutInConversionSeedFinder::createSeed(), InOutConversionSeedFinder::createSeed(), CosmicMuonSmoother::fit(), ElectronPixelSeedGenerator::prepareElTrackSeed(), ConvBremSeedProducer::produce(), SeedGeneratorForLaserBeams::propagateAnalytical(), SeedGeneratorForLaserBeams::propagateWithMaterial(), SimpleTrackRefitter::refitTrack(), SeedFromConsecutiveHits::SeedFromConsecutiveHits(), SeedGeneratorForCRack::seeds(), SimpleCosmicBONSeeder::seeds(), SeedGeneratorForCosmics::seeds(), CosmicMuonSmoother::smooth(), KFSwitching1DUpdator::update(), and KFSwitchingUpdator::update().

00008                                                                                          {
00009     switch (aRecHit.dimension()) {
00010         case 1: return update<1>(tsos,aRecHit);
00011         case 2: return update<2>(tsos,aRecHit);
00012         case 3: return update<3>(tsos,aRecHit);
00013         case 4: return update<4>(tsos,aRecHit);
00014         case 5: return update<5>(tsos,aRecHit);
00015     }
00016     throw cms::Exception("Rec hit of invalid dimension (not 1,2,3,4,5)") <<
00017          "The value was " << aRecHit.dimension() << 
00018         ", type is " << typeid(aRecHit).name() << 
00019         ", persistent rechit type " << (aRecHit.hit() ? typeid(*aRecHit.hit()).name() : "NULL") << "\n";
00020 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:18 2009 for CMSSW by  doxygen 1.5.4