virtual Double_t Yv() const;
virtual Double_t Zv() const;
virtual Bool_t XvYvZv(Double_t x[3]) const;
+ virtual Double_t T() const;
virtual Double_t E() const;
virtual Double_t M() const;
virtual const Double_t *PID() const {return 0;} // return PID object (to be defined, still)
// Track References
- Int_t GetNumberOfTrackReferences() {return fNTrackRef;}
+ Int_t GetNumberOfTrackReferences() const {return fNTrackRef;}
AliTrackReference* GetTrackReference(Int_t i)
{return dynamic_cast<AliTrackReference*>((*fTrackReferences)[i]);}
// "Trackable" criteria
Float_t GetTPCTrackLength(Float_t bz, Float_t ptmin, Int_t &counter, Float_t deadWidth);
-
+ // Navigation
+ Int_t GetMother() const {return fMother;}
+ Int_t GetFirstDaughter() const {return fFirstDaughter;}
+ Int_t GetLastDaughter() const {return fLastDaughter;}
+ void SetMother(Int_t idx) {fMother = idx;}
+ void SetFirstDaughter(Int_t idx) {fFirstDaughter = idx;}
+ void SetLastDaughter(Int_t idx) {fLastDaughter = idx;}
+ void SetLabel(Int_t label) {fLabel = label;}
+
private:
TParticle *fParticle; // The wrapped TParticle
TRefArray *fTrackReferences; // Reference array to track references
Int_t fNTrackRef; // Number of track references
Int_t fLabel; // fParticle Label in the Stack
+ Int_t fMother; // Mother particles
+ Int_t fFirstDaughter; // First daughter
+ Int_t fLastDaughter; // LastDaughter
ClassDef(AliMCParticle,0) // AliVParticle realisation for MCParticles
};
inline Double_t AliMCParticle::Yv() const {return fParticle->Vy();}
inline Double_t AliMCParticle::Zv() const {return fParticle->Vz();}
inline Bool_t AliMCParticle::XvYvZv(Double_t x[3]) const { x[0] = Xv(); x[1] = Yv(); x[2] = Zv(); return kTRUE; }
+inline Double_t AliMCParticle::T() const {return fParticle->T();}
inline Double_t AliMCParticle::E() const {return fParticle->Energy();}
inline Double_t AliMCParticle::Eta() const {return fParticle->Eta();}