3 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 //-------------------------------------------------------------------------
8 // base class for ESD and AOD tracks
10 //-------------------------------------------------------------------------
14 #include "AliVParticle.h"
17 class AliExternalTrackParam;
19 class AliVTrack: public AliVParticle {
23 virtual ~AliVTrack() { }
24 AliVTrack(const AliVTrack& vTrack);
25 AliVTrack& operator=(const AliVTrack& vTrack);
27 virtual Int_t GetID() const = 0;
28 virtual UChar_t GetITSClusterMap() const = 0;
29 virtual UShort_t GetTPCNcls() const { return 0;}
30 virtual Double_t GetTPCsignal() const { return 0.; }
31 virtual ULong_t GetStatus() const = 0;
32 virtual Bool_t GetXYZ(Double_t *p) const = 0;
33 virtual Double_t GetBz() const;
34 virtual void GetBxByBz(Double_t b[3]) const;
35 virtual Bool_t GetCovarianceXYZPxPyPz(Double_t cv[21]) const = 0;
36 virtual Bool_t PropagateToDCA(const AliVVertex *vtx,Double_t b,Double_t maxd,Double_t dz[2],Double_t covar[3]) = 0;
37 virtual const AliExternalTrackParam * GetOuterParam() const { return NULL; }
38 virtual Int_t GetNcls(Int_t /*idet*/) const { return 0; }
39 virtual Bool_t GetPxPyPz(Double_t */*p*/) const { return kFALSE; }
40 virtual void SetID(Short_t /*id*/) {;}
43 ClassDef(AliVTrack,1) // base class for tracks