]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliKalmanTrack.h
New&delete used for array with variable size
[u/mrichter/AliRoot.git] / STEER / AliKalmanTrack.h
CommitLineData
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
15class AliCluster;
16
17class AliKalmanTrack : public TObject {
18public:
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 46protected:
47 void SetChi2(Double_t chi2) {fChi2=chi2;}
48 void SetNumberOfClusters(Int_t n) {fN=n;}
49
50private:
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