]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliMCParticle.h
new classes for resonance and V0 analysis (from R. Vernet)
[u/mrichter/AliRoot.git] / STEER / AliMCParticle.h
index 0b1b3ccb1eeff3243cefb9bc68bf3d46cc1ebc7c..a652fd39a2d4e2bf122e026cedfaff2edefc4869 100644 (file)
@@ -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<AliTrackReference*>((*fTrackReferences)[i]);}
+      {return dynamic_cast<AliTrackReference*>((*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
 };
@@ -114,4 +118,6 @@ inline Short_t AliMCParticle::Charge()     const
     }
 }
 
+inline Int_t AliMCParticle::Label()       const {return fLabel;}
+
 #endif