]>
Commit | Line | Data |
---|---|---|
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: | |
20 | AliTrackFitterKalman() : | |
21 | AliTrackFitter(), | |
22 | fMaxChi2(fgkMaxChi2) {} | |
23 | ||
24 | AliTrackFitterKalman(AliTrackPointArray *array, Bool_t owner = kTRUE); | |
25 | virtual ~AliTrackFitterKalman() {} | |
26 | ||
27 | void SetMaxChi2(Double_t chi2) {fMaxChi2=chi2;} | |
28 | ||
29 | void SetSeed(const Double_t par[6], const Double_t cov[15]); | |
30 | Bool_t MakeSeed(const AliTrackPoint *p, const AliTrackPoint *p2); | |
31 | ||
32 | Bool_t GetPCA(const AliTrackPoint &p, AliTrackPoint &p2) const; | |
33 | ||
34 | Bool_t Begin(Int_t first, Int_t last); | |
35 | Bool_t AddPoint(const AliTrackPoint *p); | |
36 | Bool_t Update() {return kTRUE;} | |
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); | |
45 | ||
46 | ||
47 | static const Double_t fgkMaxChi2; // Default maximal allowed chi2 | |
48 | ||
49 | Double_t fMaxChi2; // A point is added if chi2 < fMaxChi2 | |
50 | ||
51 | ClassDef(AliTrackFitterKalman,3) // Kalman-Filter fit to a straight line | |
52 | ||
53 | }; | |
54 | ||
55 | #endif |