X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliMCParticle.h;h=092b36e966521474056cdaff3e3b9f706777edf8;hb=0baf4718d74a902abf0d39644356e8ac3c6b104a;hp=0b1b3ccb1eeff3243cefb9bc68bf3d46cc1ebc7c;hpb=c683ddc2e4bdcb167ed5e7e4c43ea8b79d27df7c;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliMCParticle.h b/STEER/AliMCParticle.h index 0b1b3ccb1ee..092b36e9665 100644 --- a/STEER/AliMCParticle.h +++ b/STEER/AliMCParticle.h @@ -21,8 +21,8 @@ class AliMCParticle: public AliVParticle { public: AliMCParticle(); - AliMCParticle(TParticle* part, TRefArray* rarray = 0); - virtual ~AliMCParticle() {} + AliMCParticle(TParticle* part, TRefArray* rarray = 0, Int_t label=-1); + virtual ~AliMCParticle(); AliMCParticle(const AliMCParticle& mcPart); AliMCParticle& operator=(const AliMCParticle& mcPart); @@ -43,25 +43,29 @@ public: virtual Double_t Zv() const; virtual Bool_t XvYvZv(Double_t x[3]) const; - virtual Double_t E() const; - virtual Double_t M() const; + virtual Double_t E() const; + virtual Double_t M() const; - virtual Double_t Eta() const; - virtual Double_t Y() const; - - virtual Short_t Charge() const; + virtual Double_t Eta() const; + virtual Double_t Y() const; + virtual Short_t Charge() const; + + virtual Int_t Label() const; + virtual TParticle* Particle() const {return fParticle;} + // PID virtual const Double_t *PID() const {return 0;} // return PID object (to be defined, still) // Track References Int_t GetNumberOfTrackReferences() {return fNTrackRef;} AliTrackReference* GetTrackReference(Int_t i) - {return dynamic_cast((*fTrackReferences)[i]);} + {return dynamic_cast((*fTrackReferences)[i]);} 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 ClassDef(AliMCParticle,0) // AliVParticle realisation for MCParticles }; @@ -96,8 +100,9 @@ inline Double_t AliMCParticle::M() const inline Double_t AliMCParticle::Y() const { Double_t e = E(); - Double_t pz = TMath::Abs(Pz()); - if (e != pz) { + Double_t pz = Pz(); + + if (e != TMath::Abs(pz)) { return 0.5*TMath::Log((e+pz)/(e-pz)); } else { return -999.; @@ -114,4 +119,6 @@ inline Short_t AliMCParticle::Charge() const } } +inline Int_t AliMCParticle::Label() const {return fLabel;} + #endif