1 #ifndef ALITRACKFITTERKALMAN_H
2 #define ALITRACKFITTERKALMAN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 ///////////////////////////////////////////////////////////////////////////////
8 // Kalman-Filter-like fit
9 // to a straight-line crossing a set of arbitrarily oriented planes.
10 // (See AliTrackFitterKalman.cxx for the details)
12 // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
14 //////////////////////////////////////////////////////////////////////////////
16 #include "AliTrackFitter.h"
18 class AliTrackFitterKalman : public AliTrackFitter {
20 AliTrackFitterKalman() :
22 fMaxChi2(fgkMaxChi2) {}
24 AliTrackFitterKalman(AliTrackPointArray *array, Bool_t owner = kTRUE);
25 virtual ~AliTrackFitterKalman() {}
27 void SetMaxChi2(Double_t chi2) {fMaxChi2=chi2;}
29 void SetSeed(const Double_t par[6], const Double_t cov[15]);
30 Bool_t MakeSeed(const AliTrackPoint *p, const AliTrackPoint *p2);
32 Bool_t GetPCA(const AliTrackPoint &p, AliTrackPoint &p2) const;
34 Bool_t Begin(Int_t first, Int_t last);
35 Bool_t AddPoint(const AliTrackPoint *p);
36 Bool_t Update() {return kTRUE;}
39 AliTrackFitterKalman(const AliTrackFitterKalman &kalman);
40 AliTrackFitterKalman &operator=(const AliTrackFitterKalman& kalman);
42 Bool_t Propagate(const AliTrackPoint *p);
43 Double_t GetPredictedChi2(const AliTrackPoint *p) const;
44 Bool_t Update(const AliTrackPoint *p,Double_t chi2);
47 static const Double_t fgkMaxChi2; // Default maximal allowed chi2
49 Double_t fMaxChi2; // A point is added if chi2 < fMaxChi2
51 ClassDef(AliTrackFitterKalman,3) // Kalman-Filter fit to a straight line