]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliKalmanTrack.h
TClonesArrays deleted correctly
[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() {fLab=-3141593; fChi2=0; fN=0;}
20   AliKalmanTrack(const AliKalmanTrack &t) {fLab=t.fLab;fChi2=t.fChi2;fN=t.fN;}
21   virtual ~AliKalmanTrack(){};
22   void SetLabel(Int_t lab) {fLab=lab;}
23
24   Bool_t   IsSortable() const {return kTRUE;}
25   Int_t    GetLabel()   const {return fLab;}
26   Double_t GetChi2()    const {return fChi2;}
27   Int_t    GetNumberOfClusters() const {return fN;}
28   virtual Int_t GetClusterIndex(Int_t i) const { //reserved for AliTracker
29     printf("AliKalmanTrack::GetClusterIndex(Int_t i) must be overloaded !\n");
30     return 0;
31   } 
32
33   virtual Int_t Compare(const TObject *o) const=0; 
34
35   virtual void GetExternalParameters(Double_t &xr, Double_t x[5]) const=0;
36   virtual void GetExternalCovariance(Double_t cov[15]) const=0;
37
38   virtual Double_t GetPredictedChi2(const AliCluster *cluster) const=0;
39   virtual 
40   Int_t PropagateTo(Double_t xr,Double_t x0,Double_t rho,Double_t pm)=0;
41   virtual Int_t Update(const AliCluster* c, Double_t chi2, UInt_t i)=0;
42
43 protected:
44   void SetChi2(Double_t chi2) {fChi2=chi2;} 
45   void SetNumberOfClusters(Int_t n) {fN=n;} 
46
47 private: 
48   Int_t fLab;             // track label
49   Double_t fChi2;         // total chi2 value for this track
50   Int_t fN;               // number of associated clusters
51
52   ClassDef(AliKalmanTrack,1)    // Reconstructed track
53 };
54
55 #endif
56
57