]>
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: | |
e1a65e92 | 19 | AliKalmanTrack() { |
20 | if (fConvConst==0) | |
21 | Fatal("AliKalmanTrack()","The magnetic field has not been set !\n"); | |
22 | fLab=-3141593; fChi2=0; fN=0; fMass=0.13957; | |
23 | } | |
7f6ddf58 | 24 | AliKalmanTrack(const AliKalmanTrack &t) { |
e1a65e92 | 25 | if (fConvConst==0) |
26 | Fatal("AliKalmanTrack(const AliKalmanTrack&)", | |
27 | "The magnetic field has not been set !\n"); | |
7f6ddf58 | 28 | fLab=t.fLab; fChi2=t.fChi2; fN=t.fN; fMass=t.fMass; |
29 | } | |
be9c5115 | 30 | virtual ~AliKalmanTrack(){}; |
31 | void SetLabel(Int_t lab) {fLab=lab;} | |
32 | ||
33 | Bool_t IsSortable() const {return kTRUE;} | |
34 | Int_t GetLabel() const {return fLab;} | |
35 | Double_t GetChi2() const {return fChi2;} | |
7f6ddf58 | 36 | Double_t GetMass() const {return fMass;} |
be9c5115 | 37 | Int_t GetNumberOfClusters() const {return fN;} |
38 | virtual Int_t GetClusterIndex(Int_t i) const { //reserved for AliTracker | |
39 | printf("AliKalmanTrack::GetClusterIndex(Int_t i) must be overloaded !\n"); | |
40 | return 0; | |
41 | } | |
42 | ||
95390171 | 43 | virtual Int_t Compare(const TObject *o) const {return 0;} |
be9c5115 | 44 | |
7f6ddf58 | 45 | virtual void GetExternalParameters(Double_t &xr, Double_t x[5]) const {;} |
46 | virtual void GetExternalCovariance(Double_t cov[15]) const {;} | |
be9c5115 | 47 | |
7f6ddf58 | 48 | virtual Double_t GetPredictedChi2(const AliCluster *cluster) const {return 0.;} |
be9c5115 | 49 | virtual |
7f6ddf58 | 50 | Int_t PropagateTo(Double_t xr,Double_t x0,Double_t rho) {return 0;} |
51 | virtual Int_t Update(const AliCluster* c, Double_t chi2, UInt_t i) {return 0;} | |
be9c5115 | 52 | |
9b280d80 | 53 | static void SetConvConst(Double_t cc) {fConvConst=cc;} |
54 | Double_t GetConvConst() const {return fConvConst;} | |
55 | ||
e1a65e92 | 56 | static void SetMagneticField(Double_t f) {// f - Magnetic field in T |
57 | fConvConst=100/0.299792458/f; | |
58 | } | |
59 | Double_t GetMagneticField() const {return 100/0.299792458/fConvConst;} | |
60 | ||
be9c5115 | 61 | protected: |
62 | void SetChi2(Double_t chi2) {fChi2=chi2;} | |
7f6ddf58 | 63 | void SetMass(Double_t mass) {fMass=mass;} |
be9c5115 | 64 | void SetNumberOfClusters(Int_t n) {fN=n;} |
65 | ||
66 | private: | |
87594435 | 67 | Int_t fLab; // track label |
87594435 | 68 | Double_t fChi2; // total chi2 value for this track |
7f6ddf58 | 69 | Double_t fMass; // mass hypothesis |
be9c5115 | 70 | Int_t fN; // number of associated clusters |
87594435 | 71 | |
9b280d80 | 72 | static Double_t fConvConst; //conversion constant cm -> GeV/c |
73 | ||
87594435 | 74 | ClassDef(AliKalmanTrack,1) // Reconstructed track |
75 | }; | |
76 | ||
77 | #endif | |
78 | ||
79 |