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 virtual ~AliKalmanTrack() {}
22 Int_t Compare(const TObject *o) const;
23 void SetLabel(Int_t lab) {fLab=lab;}
25 Double_t GetPredictedChi2(const AliCluster *cluster) const;
26 Bool_t IsSortable() const {return kTRUE;}
27 Int_t GetLabel() const {return fLab;}
28 void GetCovariance(Double_t cov[15]) const;
29 Double_t GetChi2() const {return fChi2;}
30 Int_t GetNumberOfClusters() const {return fN;}
32 virtual Double_t GetPt() const=0;
33 virtual Double_t GetP() const=0;
34 virtual void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const=0;
35 virtual Int_t PropagateTo(Double_t xr,Double_t x0,Double_t rho,Double_t pm)=0;
36 virtual void Update(const AliCluster* c, Double_t chi2, UInt_t i)=0;
39 Int_t fLab; // track label
41 Double_t fP0; // track parameter
42 Double_t fP1; // track parameter
43 Double_t fP2; // track parameter
44 Double_t fP3; // track parameter
45 Double_t fP4; // track parameter
47 Double_t fC00; // covariance
48 Double_t fC10, fC11; // matrix
49 Double_t fC20, fC21, fC22; // of the
50 Double_t fC30, fC31, fC32, fC33; // track
51 Double_t fC40, fC41, fC42, fC43, fC44; // parameters
53 Double_t fChi2; // total chi2 value for this track
54 Short_t fN; // number of clusters
56 ClassDef(AliKalmanTrack,1) // Reconstructed track