1 #ifndef ALIKALMANTRACK_H
2 #define ALIKALMANTRACK_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //-------------------------------------------------------------------------
8 // Class AliKalmanTrack
10 // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
11 //-------------------------------------------------------------------------
17 class AliKalmanTrack : public TObject {
19 AliKalmanTrack() {fN=0; fChi2=0; fLab=-3141593;}
20 AliKalmanTrack(const AliKalmanTrack& t);
21 Int_t Compare(TObject *o);
22 void SetLabel(Int_t lab) {fLab=lab;}
24 Double_t GetPredictedChi2(const AliCluster *cluster) const;
25 Bool_t IsSortable() const {return kTRUE;}
26 Int_t GetLabel() const {return fLab;}
27 void GetCovariance(Double_t cov[15]) const;
28 Double_t GetChi2() const {return fChi2;}
29 Int_t GetNumberOfClusters() const {return fN;}
31 virtual Double_t GetPt() const=0;
32 virtual Double_t GetP() const=0;
33 virtual void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const=0;
34 virtual Int_t PropagateTo(Double_t xr,Double_t x0,Double_t rho,Double_t pm)=0;
35 virtual void Update(const AliCluster* c, Double_t chi2, UInt_t i)=0;
38 Int_t fLab; // track label
42 Double_t fP2; // track parameters
46 Double_t fC00; // covariance
47 Double_t fC10, fC11; // matrix
48 Double_t fC20, fC21, fC22; // of the
49 Double_t fC30, fC31, fC32, fC33; // track
50 Double_t fC40, fC41, fC42, fC43, fC44; // parameters
52 Double_t fChi2; // total chi2 value for this track
53 Short_t fN; // number of clusters
55 ClassDef(AliKalmanTrack,1) // Reconstructed track