PandaRoot
GFKalman Class Reference

Generic Kalman Filter implementation. More...

#include <GFKalman.h>

Inheritance diagram for GFKalman:
GFDaf

Public Member Functions

 GFKalman ()
 
 ~GFKalman ()
 
void operator() (GFTrack *track)
 Operator for use with STL. More...
 
void operator() (std::pair< int, GFTrack *> tr)
 Operator for use with STL. More...
 
void setLazy (Int_t)
 Switch lazy error handling. More...
 
void setNumIterations (Int_t i)
 Set number of iterations for Kalman Filter. More...
 
void processTrack (GFTrack *trk)
 Performs fit on a GFTrack. More...
 
void fittingPass (GFTrack *, int dir)
 Performs fit on a GFTrack beginning with the current hit. More...
 
double getChi2Hit (GFAbsRecoHit *, GFAbsTrackRep *)
 Calculates chi2 of a given hit with respect to a given track representation. More...
 
void setInitialDirection (int d)
 Sets the inital direction of the track fit (1 for inner to outer, or -1 for outer to inner). The standard is 1 and is set in the ctor. More...
 
void setBlowUpFactor (double f)
 Set the blowup factor (see blowUpCovs() ) More...
 

Detailed Description

Generic Kalman Filter implementation.

Author
Christian Höppner (Technische Universität München, original author)
Sebastian Neubert (Technische Universität München, original author)

The Kalman Filter operates on genfit GFTrack objects. It is an implementation of the Kalman Filter algebra that uses the genfit interface classes GFAbsRecoHit and GFAbsTrackRep in order to be independent from the specific detector geometry and the details of the track parameterization / track extraoplation engine.

The Kalman Filter can use hits from several detectors in a single fit to estimate the parameters of several track representations in parallel.

Definition at line 49 of file GFKalman.h.

Constructor & Destructor Documentation

◆ GFKalman()

GFKalman::GFKalman ( )

◆ ~GFKalman()

GFKalman::~GFKalman ( )

Member Function Documentation

◆ fittingPass()

void GFKalman::fittingPass ( GFTrack ,
int  dir 
)

Performs fit on a GFTrack beginning with the current hit.

Referenced by setNumIterations().

◆ getChi2Hit()

double GFKalman::getChi2Hit ( GFAbsRecoHit ,
GFAbsTrackRep  
)

Calculates chi2 of a given hit with respect to a given track representation.

Referenced by setNumIterations().

◆ operator()() [1/2]

void GFKalman::operator() ( GFTrack track)
inline

Operator for use with STL.

This operator allows to use the std::foreach algorithm with an STL container o GFTrack* objects.

Definition at line 63 of file GFKalman.h.

References processTrack().

63 { processTrack(track); }
void processTrack(GFTrack *trk)
Performs fit on a GFTrack.

◆ operator()() [2/2]

void GFKalman::operator() ( std::pair< int, GFTrack *>  tr)
inline

Operator for use with STL.

This operator allows to use the std::foreach algorithm with an STL container o GFTrack* objects.

Definition at line 70 of file GFKalman.h.

References processTrack().

70 { processTrack(tr.second); }
void processTrack(GFTrack *trk)
Performs fit on a GFTrack.

◆ processTrack()

void GFKalman::processTrack ( GFTrack trk)

Performs fit on a GFTrack.

The hits are processed in the order in which they are stored in the GFTrack object. Sorting of hits in space has to be done before!

Referenced by operator()(), and setNumIterations().

◆ setBlowUpFactor()

void GFKalman::setBlowUpFactor ( double  f)
inline

Set the blowup factor (see blowUpCovs() )

Definition at line 109 of file GFKalman.h.

References f.

109 { fBlowUpFactor = f; }
float f
Definition: P4_F32vec4.h:20

◆ setInitialDirection()

void GFKalman::setInitialDirection ( int  d)
inline

Sets the inital direction of the track fit (1 for inner to outer, or -1 for outer to inner). The standard is 1 and is set in the ctor.

Definition at line 105 of file GFKalman.h.

105 { fInitialDirection = d; }

◆ setLazy()

void GFKalman::setLazy ( Int_t  )
inline

Switch lazy error handling.

This is a historically left-over method and shall be deleted some time

Definition at line 78 of file GFKalman.h.

78 { std::cerr << "Using outdates setLazy method of class GFKalman:" << std::endl; }

◆ setNumIterations()

void GFKalman::setNumIterations ( Int_t  i)
inline

Set number of iterations for Kalman Filter.

One iteration is one forward pass plus one backward pass

Definition at line 84 of file GFKalman.h.

References fittingPass(), getChi2Hit(), i, and processTrack().

84 { fNumIt = i; }
unsigned int i
Definition: P4_F32vec4.h:21

The documentation for this class was generated from the following file: