//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // A generic Kalman Filter Implementation // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // Christian Hoeppner TUM (original author) // // //----------------------------------------------------------- #ifndef FITTER_KALMAN_H #define FITTER_KALMAN_H // Base Class Headers ---------------- // Collaborating Class Headers ------- #include "TMatrixT.h" #include // Collaborating Class Declarations -- class AbsRecoHit; class AbsTrackRep; class Track; class Kalman { public: friend class KalmanTester; // gives the Tester access to private methods // Constructors/Destructors --------- Kalman(); ~Kalman(); // Operators inline void operator()(Track* track){processTrack(track);} inline void operator()(std::pair tr){processTrack(tr.second);} // Operations ---------------------- void processTrack(Track*); void continueTrack(Track*); // continues track from lastHitInFit double getChi2Hit(AbsRecoHit*, AbsTrackRep*); // Private Methods ----------------- private: void processHit(AbsRecoHit*, AbsTrackRep*, int); TMatrixT gain(const TMatrixT& cov, const TMatrixT& HitCov, const TMatrixT& H); void smoothing(Track*); }; #endif //FITTER_KALMAN_H //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------