X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliAODTrack.h;h=b9f483e8e34e69dc8db873c8a34d9417ca716778;hb=dcc2ade075ecd6298757d84b65bdd14ca92f42f6;hp=abfe63f2d60e3c98bd77bc7b4dca9c7f3d7cb69a;hpb=c4460410202661b3feb05b611a25f70c09a33ede;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliAODTrack.h b/STEER/AliAODTrack.h index abfe63f2d60..b9f483e8e34 100644 --- a/STEER/AliAODTrack.h +++ b/STEER/AliAODTrack.h @@ -17,6 +17,9 @@ #include "AliAODVertex.h" #include "AliAODRedCov.h" #include "AliAODPid.h" + + +class AliVVertex; class AliAODTrack : public AliVTrack { @@ -119,6 +122,9 @@ class AliAODTrack : public AliVTrack { virtual Short_t Charge() const {return fCharge; } + virtual Bool_t PropagateToDCA(const AliVVertex *vtx, + Double_t b, Double_t maxd, Double_t dz[2], Double_t covar[3]); + // PID virtual const Double_t *PID() const { return fPID; } AODTrkPID_t GetMostProbablePID() const; @@ -146,8 +152,9 @@ class AliAODTrack : public AliVTrack { template void GetP(T *p) const { p[0]=fMomentum[0]; p[1]=fMomentum[1]; p[2]=fMomentum[2];} - template void GetPxPyPz(T *p) const { - p[0] = Px(); p[1] = Py(); p[2] = Pz();} +// template void GetPxPyPz(T *p) const { +// p[0] = Px(); p[1] = Py(); p[2] = Pz();} + Bool_t GetPxPyPz(Double_t *p) const; template Bool_t GetPosition(T *x) const { x[0]=fPosition[0]; x[1]=fPosition[1]; x[2]=fPosition[2]; @@ -191,12 +198,16 @@ class AliAODTrack : public AliVTrack { Double_t GetRAtAbsorberEnd() const { return fRAtAbsorberEnd; } UChar_t GetITSClusterMap() const { return (UChar_t)(fITSMuonClusterMap&0xff); } + Int_t GetITSNcls() const; + Bool_t HasPointOnITSLayer(Int_t i) const { return TESTBIT(GetITSClusterMap(),i); } UShort_t GetHitsPatternInTrigCh() const { return (UShort_t)((fITSMuonClusterMap&0xff00)>>8); } UInt_t GetMUONClusterMap() const { return (fITSMuonClusterMap&0x3ff0000)>>16; } UInt_t GetITSMUONClusterMap() const { return fITSMuonClusterMap; } Bool_t TestFilterBit(UInt_t filterBit) const {return (Bool_t) ((filterBit & fFilterMap) != 0);} Bool_t TestFilterMask(UInt_t filterMask) const {return (Bool_t) ((filterMask & fFilterMap) == filterMask);} + void SetFilterMap(UInt_t i){fFilterMap = i;} + UInt_t GetFilterMap(){return fFilterMap;} const TBits& GetTPCClusterMap() const {return fTPCClusterMap;} const TBits& GetTPCSharedMap() const {return fTPCSharedMap;} @@ -263,6 +274,8 @@ class AliAODTrack : public AliVTrack { void SetProdVertex(TObject *vertex) { fProdVertex = vertex; } void SetType(AODTrk_t ttype) { fType=ttype; } + + // Dummy Int_t PdgCode() const {return 0;} @@ -300,7 +313,7 @@ class AliAODTrack : public AliVTrack { AliAODPid *fDetPid; // more detailed or detector specific pid information TRef fProdVertex; // vertex of origin - ClassDef(AliAODTrack, 10); + ClassDef(AliAODTrack, 11); }; inline Bool_t AliAODTrack::IsPrimaryCandidate() const @@ -314,4 +327,12 @@ inline Bool_t AliAODTrack::IsPrimaryCandidate() const } } +inline Int_t AliAODTrack::GetITSNcls() const +{ + // Number of points in ITS + Int_t n=0; + for(Int_t i=0;i<6;i++) if(HasPointOnITSLayer(i)) n++; + return n; +} + #endif