]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenPythia.h
Redundant media declarations commented out.
[u/mrichter/AliRoot.git] / EVGEN / AliGenPythia.h
index ff5df9ff254fc775ad63dda4198ce910ad698f8f..235af92ce38b92288baa9c96d9fb3b9bb500b350 100644 (file)
@@ -5,42 +5,43 @@
 
 /* $Id$ */
 
-/////////////////////////////////////////////////////////
-//  Manager and hits classes for set:MUON version 0    //
-/////////////////////////////////////////////////////////
+
 #include "AliGenerator.h"
-#include "TNamed.h"
-#include "TF1.h"
-#include "TArrayF.h"
-#include "TTree.h"
 #include "AliPythia.h"
-#include "TArrayI.h"
-#include "TParticle.h"
+#include "AliDecayer.h"
+#include <TArrayI.h>    
+
+class AliPythia;
+class TParticle;
 
 class AliGenPythia : public AliGenerator
 {
  public:
     AliGenPythia();
     AliGenPythia(Int_t npart);
+    AliGenPythia(const AliGenPythia &Pythia);
     virtual ~AliGenPythia();
     virtual void    Generate();
     virtual void    Init();
     // select process type
-    virtual void    SetProcess(Process_t proc=charm) {fProcess=proc;}
+    virtual void    SetProcess(Process_t proc = kPyCharm) {fProcess = proc;}
     // select structure function
-    virtual void    SetStrucFunc(StrucFunc_t func=GRV_HO) {fStrucFunc=func;}
+    virtual void    SetStrucFunc(StrucFunc_t func = kGRV_HO) {fStrucFunc = func;}
     // select pt of hard scattering 
-    virtual void    SetPtHard(Float_t ptmin=0, Float_t ptmax=1.e10)
-       {fPtHardMin=ptmin; fPtHardMax=ptmax; }
+    virtual void    SetPtHard(Float_t ptmin = 0, Float_t ptmax = 1.e10)
+       {fPtHardMin = ptmin; fPtHardMax = ptmax; }
     // set centre of mass energy
-    virtual void    SetEnergyCMS(Float_t energy=5500) {fEnergyCMS=energy;}
+    virtual void    SetEnergyCMS(Float_t energy = 5500) {fEnergyCMS = energy;}
     // force decay type
-    virtual void    SetForceDecay(Decay_t decay=semimuonic) {fForceDecay=decay;}
+    virtual void    SetForceDecay(Decay_t decay = kSemiMuonic) {fForceDecay = decay;}
+    // treat protons as inside nuclei
+    virtual void    SetNuclei(Int_t a1, Int_t a2);
     // get cross section of process
     virtual Float_t GetXsection() {return fXsection;}
     // Check PDG code
-    virtual Int_t CheckPDGCode(Int_t pdgcode);
-
+    virtual Int_t   CheckPDGCode(Int_t pdgcode);
+    // Assignment Operator
+    AliGenPythia & operator=(const AliGenPythia & rhs);
  protected:
     Process_t   fProcess;       // Process type
     StrucFunc_t fStrucFunc;     // Structure Function
@@ -51,10 +52,13 @@ class AliGenPythia : public AliGenerator
     TArrayI     fParentSelect;  // Parent particles to be selected 
     TArrayI     fChildSelect;   // Decay products to be selected
     Float_t     fXsection;      // Cross-section
-    AliPythia   *fPythia;       // Pythia 
+    AliPythia   *fPythia;       //! Pythia 
     Float_t     fPtHardMin;     // lower pT-hard cut 
     Float_t     fPtHardMax;     // higher pT-hard cut
-
+    Int_t       fNucA1;         // mass number nucleus side 1
+    Int_t       fNucA2;         // mass number nucleus side 2
+    Bool_t      fFullEvent;     // Write Full event if true
+    AliDecayer  *fDecayer;      // ! pointer to the decayer instance
  private:
     // check if particle is selected as parent particle
     Bool_t ParentSelected(Int_t ip);
@@ -65,7 +69,7 @@ class AliGenPythia : public AliGenerator
     // adjust the weight from kinematic cuts
     void   AdjustWeights();
 
-    ClassDef(AliGenPythia,1)
+    ClassDef(AliGenPythia,1) // AliGenerator interface to Pythia
 };
 #endif