]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliDecayerPythia.h
Modified absorber correction. Added function FieldCorrection() to account
[u/mrichter/AliRoot.git] / EVGEN / AliDecayerPythia.h
index af0af12f3dbedc526d397cd5f93e6264cb0aadc1..b6e3f208de2646559928094af137b2acb56687f2 100644 (file)
@@ -5,40 +5,57 @@
 
 /* $Id$ */
 
+// Implementation of AliDecayer using Pythia
+// Method forwarding to the AliPythia instance.
+// Author: andreas.morsch@cern.ch
+
 #include "AliDecayer.h"
-#include "AliPythia.h"
+class AliPythia;
+class TClonesArrray;
 
 class AliDecayerPythia :
 public AliDecayer
 {
  public:
-//
     AliDecayerPythia();
+    void  Copy(AliDecayerPythia &decayer) const;
+    
+//    
+    virtual         ~AliDecayerPythia(){;}
+    
     virtual void    Init();
     virtual void    Decay(Int_t idpart, TLorentzVector *p);
-    virtual Int_t   ImportParticles(TClonesArray *particles)
-       {return fPythia->ImportParticles(particles, "All");}
+    virtual Int_t   ImportParticles(TClonesArray *particles);
     virtual void    SetForceDecay(Decay_t decay) {fDecay=decay;}
     virtual void    ForceDecay();
     
     virtual Float_t GetPartialBranchingRatio(Int_t ipart);
+    virtual Float_t GetLifetime(Int_t kf);
+    virtual void    WriteDecayTable();
+    virtual void    ReadDecayTable();
+    
  private:
     void     DefineParticles();
     void     Lu1Ent(Int_t flag, Int_t idpart, 
                    Double_t mom, Double_t theta, Double_t phi);
     Int_t    CountProducts(Int_t channel, Int_t particle);
     void     ForceParticleDecay(Int_t particle, Int_t product, Int_t mult);
-    void     ForceHadronicD();    
-    void     AllowAllDecays();
+    void     ForceHadronicD();
+    void     ForceOmega();    
     Float_t  GetBraPart(Int_t kf);
+
+    AliDecayerPythia(const AliDecayerPythia &decayer) {;}
+    virtual AliDecayerPythia &operator=(const AliDecayerPythia &decayer) 
+    {decayer.Copy(*this);return(*this);}
     
     
  private:
-    AliPythia*  fPythia;          // Pointer to AliPythia
+    AliPythia*  fPythia;          //! Pointer to AliPythia
     Decay_t     fDecay;           // Forced decay mode
-    Float_t     fBraPart[501];    // Branching ratios
-
-    ClassDef(AliDecayerPythia,1)  // AliDecayer implementation using Pythia  
+    Float_t     fBraPart[501];    //! Branching ratios
+    static Bool_t fgInit;         //! initialization flag 
+    
+    ClassDef(AliDecayerPythia,2)  // AliDecayer implementation using Pythia  
 };
 #endif