]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliPythia.h
A pointer was set to zero in the default constructor to avoid memory management problems
[u/mrichter/AliRoot.git] / EVGEN / AliPythia.h
index 33cee7115d5df2774c0aaadcf4d95e3280a7b1a2..0f3698f733a0411d4b46893d13fb84af817fced9 100644 (file)
@@ -6,10 +6,31 @@
 /* $Id$ */
 
 #include <TPythia6.h>
-#include "GenTypeDefs.h"
+#include <AliRndm.h>
 
-class AliPythia:public TPythia6
+typedef enum
+{kPyCharm, kPyBeauty, kPyCharmUnforced, kPyBeautyUnforced, kPyJpsi, kPyJpsiChi, kPyMb, kPyJets, kPyDirectGamma}
+Process_t;
+
+typedef enum
+{
+    kDO_Set_1=1006,
+    kGRV_LO=5005,
+    kGRV_HO=5006,
+    kMRS_D_minus=3031,
+    kMRS_D0=3030,
+    kMRS_G=3041,
+    kCTEQ_2pM=4024,
+    kCTEQ_4M=4034,
+    kMRST_cg_LO=3072,
+    kCTEQ_5L=4046,
+    kGRV_LO_98=5012
+}
+StrucFunc_t;
+
+class AliPythia : public TPythia6, public AliRndm
 {
+
  public:
     virtual ~AliPythia(){;}
     // convert to compressed code and print result (for debugging only)
@@ -19,6 +40,10 @@ class AliPythia:public TPythia6
        (Process_t process, Float_t energy, StrucFunc_t strucfunc);
     // treat protons as inside nuclei
     virtual void    SetNuclei(Int_t a1, Int_t a2);
+    // Print particle properties
+    virtual void PrintParticles();
+    virtual void ResetDecayTable();
+    virtual void SetDecayTable();
     // return instance of the singleton
     static  AliPythia* Instance();
 
@@ -26,11 +51,13 @@ class AliPythia:public TPythia6
     Process_t     fProcess;           // Process type
     Float_t       fEcms;              // Centre of mass energy
     StrucFunc_t   fStrucFunc;         // Structure function
+    Int_t         fDefMDCY[501];      //  ! Default decay switches per particle
+    Int_t         fDefMDME[2000];     //  ! Default decay switches per mode
     static AliPythia*    fgAliPythia; // Pointer to single instance
  private: 
     AliPythia();
 
-    ClassDef(AliPythia,0) //ALICE UI to PYTHIA
+    ClassDef(AliPythia,1) //ALICE UI to PYTHIA
 };
 
 #endif