]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliKalmanTrack.h
e001d4a8fe41489ef02eacde76319721b03be387
[u/mrichter/AliRoot.git] / STEER / AliKalmanTrack.h
1 #ifndef ALIKALMANTRACK_H
2 #define ALIKALMANTRACK_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //-------------------------------------------------------------------------
8 //                          Class AliKalmanTrack
9 //
10 //         Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
11 //-------------------------------------------------------------------------
12
13 #include <TObject.h>
14
15 class AliCluster;
16
17 class AliKalmanTrack : public TObject {
18 public:
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;} 
23
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;}
30
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;
36
37 protected: 
38   Int_t fLab;             // track label
39
40   Double_t fP0;           // 
41   Double_t fP1;           // 
42   Double_t fP2;           // track parameters
43   Double_t fP3;           // 
44   Double_t fP4;           // 
45
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
51
52   Double_t fChi2;         // total chi2 value for this track
53   Short_t fN;             // number of clusters 
54
55   ClassDef(AliKalmanTrack,1)    // Reconstructed track
56 };
57
58 #endif
59
60