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 |