]>
Commit | Line | Data |
---|---|---|
9c4c8863 | 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 */ | |
5 | ||
6 | /////////////////////////////////////////////////////////////////////////////// | |
7 | // | |
8 | // Kalman-Filter-like fit | |
9 | // to a straight-line crossing a set of arbitrarily oriented planes. | |
10 | // (See AliTrackFitterKalman.cxx for the details) | |
11 | // | |
12 | // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch | |
13 | // | |
14 | ////////////////////////////////////////////////////////////////////////////// | |
15 | ||
16 | #include "AliTrackFitter.h" | |
17 | ||
18 | class AliTrackFitterKalman : public AliTrackFitter { | |
19 | public: | |
57c8a1c2 | 20 | AliTrackFitterKalman() : |
21 | AliTrackFitter(), | |
1c568c03 | 22 | fMaxChi2(fgkMaxChi2) {} |
9c4c8863 | 23 | |
24 | AliTrackFitterKalman(AliTrackPointArray *array, Bool_t owner = kTRUE); | |
25 | virtual ~AliTrackFitterKalman() {} | |
26 | ||
27 | void SetMaxChi2(Double_t chi2) {fMaxChi2=chi2;} | |
28 | ||
57c8a1c2 | 29 | void SetSeed(const Double_t par[6], const Double_t cov[15]); |
30 | Bool_t MakeSeed(const AliTrackPoint *p, const AliTrackPoint *p2); | |
9c4c8863 | 31 | |
32 | Bool_t GetPCA(const AliTrackPoint &p, AliTrackPoint &p2) const; | |
33 | ||
57c8a1c2 | 34 | Bool_t Begin(Int_t first, Int_t last); |
9c4c8863 | 35 | Bool_t AddPoint(const AliTrackPoint *p); |
1c568c03 | 36 | Bool_t Update() {return kTRUE;} |
9c4c8863 | 37 | |
38 | private: | |
39 | AliTrackFitterKalman(const AliTrackFitterKalman &kalman); | |
40 | AliTrackFitterKalman &operator=(const AliTrackFitterKalman& kalman); | |
41 | ||
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); | |
57c8a1c2 | 45 | |
9c4c8863 | 46 | |
47 | static const Double_t fgkMaxChi2; // Default maximal allowed chi2 | |
48 | ||
49 | Double_t fMaxChi2; // A point is added if chi2 < fMaxChi2 | |
50 | ||
1c568c03 | 51 | ClassDef(AliTrackFitterKalman,3) // Kalman-Filter fit to a straight line |
9c4c8863 | 52 | |
53 | }; | |
54 | ||
55 | #endif |