]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliMCParticle.h
Coding rule violations corrected
[u/mrichter/AliRoot.git] / STEER / AliMCParticle.h
index 5cff4e908eb425fba5e9695a8cd3a67979c9e973..b8f45bb55a34b3841f3e14790250b65ebbb4e9db 100644 (file)
@@ -38,10 +38,11 @@ public:
     virtual Double_t Phi()       const;
     virtual Double_t Theta()     const;
     
-    virtual Double_t Xv() const;
-    virtual Double_t Yv() const;
-    virtual Double_t Zv() const;
+    virtual Double_t Xv()        const;
+    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;
@@ -51,22 +52,38 @@ public:
     
     virtual Short_t Charge()      const;
 
-    virtual Int_t      Label()       const;
-    virtual Int_t      GetLabel() const {return Label();} 
-    virtual TParticle* Particle() const  {return fParticle;}
-           
+    virtual Int_t    Label()         const;
+    virtual Int_t    GetLabel()      const {return Label();}
+    virtual Int_t    PdgCode()       const {return fParticle->GetPdgCode();}
+    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;}
+    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
 };
@@ -84,9 +101,11 @@ inline Double_t AliMCParticle::Xv()        const {return fParticle->Vx();}
 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();}
 
+
 inline Double_t AliMCParticle::M()         const
 {
     TParticlePDG* pdg = fParticle->GetPDG();