]>
Commit | Line | Data |
---|---|---|
87594435 | 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: | |
9b280d80 | 19 | AliKalmanTrack() { fLab=-3141593; fChi2=0; fN=0; } |
be9c5115 | 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 | ||
9b280d80 | 43 | static void SetConvConst(Double_t cc) {fConvConst=cc;} |
44 | Double_t GetConvConst() const {return fConvConst;} | |
45 | ||
be9c5115 | 46 | protected: |
47 | void SetChi2(Double_t chi2) {fChi2=chi2;} | |
48 | void SetNumberOfClusters(Int_t n) {fN=n;} | |
49 | ||
50 | private: | |
87594435 | 51 | Int_t fLab; // track label |
87594435 | 52 | Double_t fChi2; // total chi2 value for this track |
be9c5115 | 53 | Int_t fN; // number of associated clusters |
87594435 | 54 | |
9b280d80 | 55 | static Double_t fConvConst; //conversion constant cm -> GeV/c |
56 | ||
87594435 | 57 | ClassDef(AliKalmanTrack,1) // Reconstructed track |
58 | }; | |
59 | ||
60 | #endif | |
61 | ||
62 |