ROOT logo
#ifndef ALITRACKFITTERKALMAN_H
#define ALITRACKFITTERKALMAN_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

///////////////////////////////////////////////////////////////////////////////
//
//                        Kalman-Filter-like fit 
//   to a straight-line crossing a set of arbitrarily oriented planes.
//           (See AliTrackFitterKalman.cxx for the details)
//
//          Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
//
//////////////////////////////////////////////////////////////////////////////

#include "AliTrackFitter.h"

class AliTrackFitterKalman : public AliTrackFitter {
public:
  AliTrackFitterKalman() : 
     AliTrackFitter(), 
     fMaxChi2(fgkMaxChi2) {}

  AliTrackFitterKalman(AliTrackPointArray *array, Bool_t owner = kTRUE);
  virtual ~AliTrackFitterKalman() {}

  void SetMaxChi2(Double_t chi2) {fMaxChi2=chi2;}

  void   SetSeed(const Double_t par[6], const Double_t cov[15]);
  Bool_t MakeSeed(const AliTrackPoint *p, const AliTrackPoint *p2);

  Bool_t GetPCA(const AliTrackPoint &p, AliTrackPoint &p2) const;

  Bool_t Begin(Int_t first, Int_t last);
  Bool_t AddPoint(const AliTrackPoint *p);
  Bool_t Update() {return kTRUE;}

private:
  AliTrackFitterKalman(const AliTrackFitterKalman &kalman);
  AliTrackFitterKalman &operator=(const AliTrackFitterKalman& kalman);

  Bool_t Propagate(const AliTrackPoint *p);
  Double_t GetPredictedChi2(const AliTrackPoint *p) const;
  Bool_t Update(const AliTrackPoint *p,Double_t chi2);


  static const Double_t fgkMaxChi2;  // Default maximal allowed chi2 

  Double_t fMaxChi2;                 // A point is added if chi2 < fMaxChi2 

  ClassDef(AliTrackFitterKalman,3)   // Kalman-Filter fit to a straight line

};

#endif
 AliTrackFitterKalman.h:1
 AliTrackFitterKalman.h:2
 AliTrackFitterKalman.h:3
 AliTrackFitterKalman.h:4
 AliTrackFitterKalman.h:5
 AliTrackFitterKalman.h:6
 AliTrackFitterKalman.h:7
 AliTrackFitterKalman.h:8
 AliTrackFitterKalman.h:9
 AliTrackFitterKalman.h:10
 AliTrackFitterKalman.h:11
 AliTrackFitterKalman.h:12
 AliTrackFitterKalman.h:13
 AliTrackFitterKalman.h:14
 AliTrackFitterKalman.h:15
 AliTrackFitterKalman.h:16
 AliTrackFitterKalman.h:17
 AliTrackFitterKalman.h:18
 AliTrackFitterKalman.h:19
 AliTrackFitterKalman.h:20
 AliTrackFitterKalman.h:21
 AliTrackFitterKalman.h:22
 AliTrackFitterKalman.h:23
 AliTrackFitterKalman.h:24
 AliTrackFitterKalman.h:25
 AliTrackFitterKalman.h:26
 AliTrackFitterKalman.h:27
 AliTrackFitterKalman.h:28
 AliTrackFitterKalman.h:29
 AliTrackFitterKalman.h:30
 AliTrackFitterKalman.h:31
 AliTrackFitterKalman.h:32
 AliTrackFitterKalman.h:33
 AliTrackFitterKalman.h:34
 AliTrackFitterKalman.h:35
 AliTrackFitterKalman.h:36
 AliTrackFitterKalman.h:37
 AliTrackFitterKalman.h:38
 AliTrackFitterKalman.h:39
 AliTrackFitterKalman.h:40
 AliTrackFitterKalman.h:41
 AliTrackFitterKalman.h:42
 AliTrackFitterKalman.h:43
 AliTrackFitterKalman.h:44
 AliTrackFitterKalman.h:45
 AliTrackFitterKalman.h:46
 AliTrackFitterKalman.h:47
 AliTrackFitterKalman.h:48
 AliTrackFitterKalman.h:49
 AliTrackFitterKalman.h:50
 AliTrackFitterKalman.h:51
 AliTrackFitterKalman.h:52
 AliTrackFitterKalman.h:53
 AliTrackFitterKalman.h:54
 AliTrackFitterKalman.h:55