]>
Commit | Line | Data |
---|---|---|
4f6e22bd | 1 | #ifndef AliVTrack_H |
2 | #define AliVTrack_H | |
3 | /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | //------------------------------------------------------------------------- | |
8 | // base class for ESD and AOD tracks | |
9 | // Author: A. Dainese | |
10 | //------------------------------------------------------------------------- | |
11 | ||
6dc40b1c | 12 | #include <TBits.h> |
13 | ||
4f6e22bd | 14 | #include "AliVParticle.h" |
15 | ||
6dc40b1c | 16 | class AliVVertex; |
c8fe2783 | 17 | class AliExternalTrackParam; |
4f6e22bd | 18 | |
19 | class AliVTrack: public AliVParticle { | |
20 | ||
21 | public: | |
fd21ec8d | 22 | enum { |
23 | kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008, | |
24 | kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080, | |
25 | kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800, | |
26 | kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000, | |
27 | kTOFmismatch=0x100000, | |
28 | kHMPIDout=0x10000,kHMPIDpid=0x20000, | |
29 | kEMCALmatch=0x40000, | |
30 | kPHOSmatch=0x200000, | |
31 | kTRDbackup =0x80000, | |
32 | kTRDStop=0x20000000, | |
33 | kESDpid=0x40000000, | |
34 | kTIME=0x80000000, | |
35 | kGlobalMerge=0x08000000, | |
36 | kITSpureSA=0x10000000, | |
37 | kMultInV0 =0x2000000, //BIT(25): assumed to be belong to V0 in multiplicity estimates | |
38 | kMultSec =0x4000000, //BIT(26): assumed to be secondary (due to the DCA) in multiplicity estimates | |
39 | kEmbedded =0x8000000 // BIT(27), 1<<27: Is a track that has been embedded into the event | |
40 | }; | |
41 | enum { | |
42 | kTRDnPlanes = 6, | |
43 | kEMCALNoMatch = -4096 | |
44 | }; | |
45 | ||
4f6e22bd | 46 | AliVTrack() { } |
47 | virtual ~AliVTrack() { } | |
48 | AliVTrack(const AliVTrack& vTrack); | |
49 | AliVTrack& operator=(const AliVTrack& vTrack); | |
50 | ||
51 | virtual Int_t GetID() const = 0; | |
52 | virtual UChar_t GetITSClusterMap() const = 0; | |
29bf19f2 | 53 | virtual Float_t GetTPCClusterInfo(Int_t /*nNeighbours*/, Int_t /*type*/, Int_t /*row0*/=0, Int_t /*row1*/=159) const {return 0.;} |
07cc7a48 | 54 | virtual UShort_t GetTPCNcls() const { return 0;} |
29bf19f2 | 55 | virtual UShort_t GetTPCNclsF() const { return 0;} |
fd21ec8d | 56 | virtual Double_t GetTRDslice(Int_t /*plane*/, Int_t /*slice*/) const { return -1.; } |
29bf19f2 | 57 | |
58 | //pid info | |
59 | virtual Double_t GetITSsignal() const {return 0.;} | |
60 | virtual Double_t GetTPCsignal() const {return 0.;} | |
61 | virtual UShort_t GetTPCsignalN() const {return 0 ;} | |
62 | virtual Double_t GetTPCmomentum() const {return 0.;} | |
63 | virtual Double_t GetTOFsignal() const {return 0.;} | |
ea235c90 | 64 | virtual void GetIntegratedTimes(Double_t */*times*/) const { return; } |
65 | virtual Double_t GetTRDmomentum(Int_t /*plane*/, Double_t */*sp*/=0x0) const {return 0.;} | |
66 | virtual void GetHMPIDpid(Double_t */*p*/) const {;} | |
67 | ||
4f6e22bd | 68 | virtual ULong_t GetStatus() const = 0; |
892be05f | 69 | virtual Bool_t GetXYZ(Double_t *p) const = 0; |
f7a1cc68 | 70 | virtual Double_t GetBz() const; |
8b6e3369 | 71 | virtual void GetBxByBz(Double_t b[3]) const; |
4f6e22bd | 72 | virtual Bool_t GetCovarianceXYZPxPyPz(Double_t cv[21]) const = 0; |
6dc40b1c | 73 | virtual Bool_t PropagateToDCA(const AliVVertex *vtx,Double_t b,Double_t maxd,Double_t dz[2],Double_t covar[3]) = 0; |
c8fe2783 | 74 | virtual const AliExternalTrackParam * GetOuterParam() const { return NULL; } |
75 | virtual Int_t GetNcls(Int_t /*idet*/) const { return 0; } | |
76 | virtual Bool_t GetPxPyPz(Double_t */*p*/) const { return kFALSE; } | |
77 | virtual void SetID(Short_t /*id*/) {;} | |
78 | ||
4f6e22bd | 79 | |
606fdf76 | 80 | ClassDef(AliVTrack,1) // base class for tracks |
4f6e22bd | 81 | }; |
82 | ||
83 | #endif |