#include "AliAODVertex.h"
#include "AliAODRedCov.h"
#include "AliAODPid.h"
+
+
+class AliVVertex;
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;
template <class T> void GetP(T *p) const {
p[0]=fMomentum[0]; p[1]=fMomentum[1]; p[2]=fMomentum[2];}
- template <class T> void GetPxPyPz(T *p) const {
- p[0] = Px(); p[1] = Py(); p[2] = Pz();}
+// template <class T> void GetPxPyPz(T *p) const {
+// p[0] = Px(); p[1] = Py(); p[2] = Pz();}
+ Bool_t GetPxPyPz(Double_t *p) const;
template <class T> Bool_t GetPosition(T *x) const {
x[0]=fPosition[0]; x[1]=fPosition[1]; x[2]=fPosition[2];
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;}
void SetProdVertex(TObject *vertex) { fProdVertex = vertex; }
void SetType(AODTrk_t ttype) { fType=ttype; }
+
+
// Dummy
Int_t PdgCode() const {return 0;}
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
}
}
+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