]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliVTrack.h
Added virtual GetTOFBunchCrossing() const. Overriden by ESD and AODtrack implementations
[u/mrichter/AliRoot.git] / STEER / AliVTrack.h
CommitLineData
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 16class AliVVertex;
c8fe2783 17class AliExternalTrackParam;
4f6e22bd 18
19class AliVTrack: public AliVParticle {
20
21public:
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*/) {;}
f51a4278 78 virtual Int_t GetTOFBunchCrossing() const { return -1;}
4f6e22bd 79
606fdf76 80 ClassDef(AliVTrack,1) // base class for tracks
4f6e22bd 81};
82
83#endif