Derive from AliGenMC.
[u/mrichter/AliRoot.git] / EVGEN / AliGenHijing.h
index e6512bfccb8804d82b10618abf4aa65c8ed0f029..8e6c5194c2601575ca50a78f51feff7f5026deb8 100644 (file)
@@ -5,17 +5,21 @@
 
 /* $Id$ */
 
+// Generator using HIJING as an external generator
+// The main HIJING options are accessable for the user through this interface.
+// andreas.morsch@cern.ch
 
-#include "AliGenerator.h"
-#include "GenTypeDefs.h"
+#include "AliGenMC.h"
 #include <TString.h>
 #include <TArrayI.h>
 
 class THijing;
 class TArrayI;
 class TParticle;
+class TClonesArray;
+class TGraph;
 
-class AliGenHijing : public AliGenerator
+class AliGenHijing : public AliGenMC
 {
     enum {kNoTrigger, kHardProcesses, kDirectPhotons};
 
@@ -56,6 +60,8 @@ class AliGenHijing : public AliGenerator
     AliGenHijing &  operator=(const AliGenHijing & rhs);
 // Physics Routines        
     virtual void EvaluateCrossSections();
+    virtual TGraph* CrossSection()     {return fDsigmaDb;}
+    virtual TGraph* BinaryCollisions() {return fDnDb;}    
  protected:
     Bool_t SelectFlavor(Int_t pid);
     void   MakeHeader();
@@ -78,7 +84,6 @@ class AliGenHijing : public AliGenerator
     Int_t       fEvaluate;       // Evaluate total and partial cross-sections
     Int_t       fSelectAll;      // Flag to write the full event
     Int_t       fFlavor;         // Selected particle flavor 4: charm+beauty 5: beauty
-    Decay_t     fForceDecay;     // Decay channel  are forced
     Float_t     fEnergyCMS;      // Centre of mass energy
     Float_t     fKineBias;       // Bias from kinematic selection
     Int_t       fTrials;         // Number of trials
@@ -89,14 +94,9 @@ class AliGenHijing : public AliGenerator
     Float_t     fPtHardMin;      // lower pT-hard cut 
     Float_t     fPtHardMax;      // higher pT-hard cut
     Int_t       fSpectators;     // put spectators on stack
-
+    TGraph*     fDsigmaDb;       // dSigma/db for the system
+    TGraph*     fDnDb;           // dNBinaryCollisions/db    
  private:
-    // check if particle is selected as parent particle
-    Bool_t ParentSelected(Int_t ip);
-    // check if particle is selected as child particle
-    Bool_t ChildSelected(Int_t ip);
-    // all kinematic selection cuts go here 
-    Bool_t KinematicSelection(TParticle *particle);
     // adjust the weight from kinematic cuts
     void   AdjustWeights();
     // check seleted daughters