MarlinTPC  1.2.0
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
marlintpc::TrackFitterKalman Class Reference

Kalman filter track fitter. More...

#include <TrackFitterKalman.h>

Inheritance diagram for marlintpc::TrackFitterKalman:
marlintpc::TrackFitterBase

Public Member Functions

virtual std::string getRevision () const
 Get the revision of the actual fitter implementation. More...
 
virtual unsigned char getFitterType () const
 Information what fitter implementation this is.
 
virtual IMPL::TrackImpl * fitTrack (EVENT::Track const *seedTrack) const
 Perform the actual fitting. More...
 
void toLCIOTrack (TKalTrack &kaltrack, IMPL::TrackImpl *trk) const
 Fill the track state (incl. More...
 
void SetTuplePtr (AIDA::ITuple *ptrTuple=0)
 
- Public Member Functions inherited from marlintpc::TrackFitterBase
 TrackFitterBase ()
 The Constructor. More...
 
virtual EVENT::DoubleVec calculateResiduals (EVENT::Track const *testTrack, unsigned int testHitNumber, EVENT::Track const *referenceTrack=NULL) const
 Return the distance of the hit testHitNumber of the testTrack to the point of closest approach on the referenceTrack wrt. the hit. More...
 
virtual EVENT::DoubleVec calculateResiduals (EVENT::TrackerHit const *testHit, EVENT::Track const *trackWithoutTestHit) const
 Return the distance of the given hit to the test track where this hit has been removed. More...
 
void setD0Start (double d0)
 Set a d0 start value for the fit. More...
 
void setPhiStart (double phi)
 Set a phi start value for the fit. More...
 
void setOmegaStart (double omega)
 Set a omega start value for the fit. More...
 
void setTanLambdaStart (double tanLambda)
 Set a tanLambda start value for the fit. More...
 
void setZ0Start (double z0)
 Set a z0 start value for the fit. More...
 
void setNoZFitFlag (bool noZFit=true)
 Switch to turn off the fitting in z. More...
 
bool getNoZFitFlag () const
 Get the noZFit flag.
 
void fixD0 (bool fix=true)
 Fix or release d0.
 
void fixPhi (bool fix=true)
 Fix or release phi.
 
void fixOmega (bool fix=true)
 Fix or release omega.
 
void fixTanLambda (bool fix=true)
 Fix or release tanLambda.
 
void fixZ0 (bool fix=true)
 Fix or release z0.
 

Static Public Member Functions

static TrackFitterBasegetInstance (LCParameters const *parameters=0)
 Well defined interface to create a new instance of the track fitter.
 
- Static Public Member Functions inherited from marlintpc::TrackFitterBase
static void setTrackFitterType (unsigned char type, IMPL::TrackImpl *track)
 Convenience function to set bits 16-23 to be the track type.
 
static unsigned char getFitterTypeFromTrack (int trackTypeWord)
 Convenicene function to get the tracker type out of the trackType word.
 

Protected Attributes

AIDA::ITuple * _kalmantuple
 
- Protected Attributes inherited from marlintpc::TrackFitterBase
double _d0Start
 The start value for the fit and a flag whether to apply d0Start or the value from the seed track.
 
bool _useD0Start
 
double _phiStart
 The start value for the fit and a flag whether to apply phiStart or the value from the seed track.
 
bool _usePhiStart
 
double _omegaStart
 The start value for the fit and a flag whether to apply omegaStart or the value from the seed track.
 
bool _useOmegaStart
 
double _tanLambdaStart
 The start value for the fit and a flag whether to apply tanLambdaStart or the value from the seed track.
 
bool _useTanLambdaStart
 
double _z0Start
 The start value for the fit and a flag whether to apply z0Start or the value from the seed track.
 
bool _useZ0Start
 
bool _noZFit
 flag whether to perform a 2D or a 3D fit
 
bool _fixD0
 flags whether to fix a fit parameter
 
bool _fixPhi
 
bool _fixOmega
 
bool _fixTanLambda
 
bool _fixZ0
 

Additional Inherited Members

- Static Public Attributes inherited from marlintpc::TrackFitterBase
static const unsigned char FITFAILEDBIT = 30
 Bit 30 in the TrackType word is fit failed.
 
- Protected Member Functions inherited from marlintpc::TrackFitterBase
double distanceOnCircle (double phi1, double phi2) const
 Calculate the angular distance on a circle. More...
 

Detailed Description

Kalman filter track fitter.

(to be filled)

Member Function Documentation

virtual IMPL::TrackImpl* marlintpc::TrackFitterKalman::fitTrack ( EVENT::Track const *  seedTrack) const
virtual

Perform the actual fitting.

Uses TrackFitterSimpleChiSquare::fitTrack, using the residuals from this class, and then setting the correct fitter type.

Implements marlintpc::TrackFitterBase.

virtual std::string marlintpc::TrackFitterKalman::getRevision ( ) const
virtual

Get the revision of the actual fitter implementation.

This is needed for revision logging. Implementation should look like:

return std::string( "$Rev$" ); 

In case you don't reimplement the calculateResidulas methods you should also state the revision of this base class:

return std::string( "$Rev$ ; TrackFitterBase ") + TrackFitterBase::getRevision(); 

Don't forget to switch on the 'svn Rev' property for this file:

svn propset svn:keywords Rev TrackFitterImpl.cc 

Reimplemented from marlintpc::TrackFitterBase.

void marlintpc::TrackFitterKalman::toLCIOTrack ( TKalTrack &  kaltrack,
IMPL::TrackImpl *  trk 
) const

Fill the track state (incl.

cov matrix) at the beginning (4th hit) of the track into the given LCIO track. Smoothes back to the 4th hit and returns that state.


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