]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/AliGenPythia.h
- Add possibility to read partonic event from file and hadronize.
[u/mrichter/AliRoot.git] / PYTHIA6 / AliGenPythia.h
index 4489dd180fbfad165e873b35ca116fe0bfb81d9d..9058258918fc87a7b512b9c15291655dafd04961 100644 (file)
@@ -20,6 +20,9 @@
 
 class AliPythia;
 class TParticle;
+class AliGenPythiaEventHeader;
+class AliStack;
+class AliRunLoader;
 
 class AliGenPythia : public AliGenMC
 {
@@ -77,25 +80,28 @@ class AliGenPythia : public AliGenMC
       fStackFillOpt = opt;
     }
     // Set fragmentation option
-    virtual void SetFragmentation(const Bool_t opt) {
+    virtual void SetFragmentation(Bool_t opt) {
       fFragmentation = opt;
     }
     // Set counting mode
-    virtual void SetCountMode(const CountMode_t mode) {
+    virtual void SetCountMode(CountMode_t mode) {
       fCountMode = mode;
     }
-    
+    // Set quenching mode 0 = no, 1 = AM, 2 = IL
+    virtual void SetQuench(Int_t flag = 0) {fQuench = flag;}
+    virtual void SetHadronisation(Int_t flag = 1) {fHadronisation = flag;}
+    virtual void SetReadFromFile(const Text_t *filname) {fFileName = filname;  fReadFromFile = 1;}    
+           
     // get cross section of process
     virtual Float_t GetXsection() const {return fXsection;}
     // get triggered jets
     void GetJets(Int_t& njets, Int_t& ntrig, Float_t[4][10]);
-    void RecJetsUA1(Float_t eCellMin, Float_t eCellSeed, Float_t eMin, Float_t rMin, 
-                   Int_t& njets, Float_t jets[4][50]);
+    void RecJetsUA1(Int_t& njets, Float_t jets[4][50]);
     void SetPycellParameters(Float_t etamax = 2., Int_t neta = 274, Int_t nphi = 432,
                             Float_t thresh = 0., Float_t etseed = 4.,
                             Float_t minet = 10., Float_t r = 1.);
     
-    void LoadEvent();
+    void LoadEvent(AliStack* stack, Int_t flag = 0, Int_t reHadr = 0);
     // Getters
     virtual Process_t    GetProcess() {return fProcess;}
     virtual StrucFunc_t  GetStrucFunc() {return fStrucFunc;}
@@ -144,6 +150,10 @@ class AliGenPythia : public AliGenMC
     Float_t     fYHardMax;          //higher y-hard cut
     Int_t       fGinit;             //initial state gluon radiation
     Int_t       fGfinal;            //final state gluon radiation
+    Int_t       fHadronisation;     //hadronisation
+    Int_t       fNpartons;          //Number of partons before hadronisation
+    Int_t       fReadFromFile;      //read partons from file
+    Int_t       fQuench;            //Flag for quenching
     Float_t     fPtKick;            //Transverse momentum kick
     Bool_t      fFullEvent;         //!Write Full event if true
     AliDecayer  *fDecayer;          //!Pointer to the decayer instance
@@ -176,14 +186,18 @@ class AliGenPythia : public AliGenMC
     Bool_t fSetNuclei;              // Flag indicating that SetNuclei has been called
     //
 
-    CountMode_t fCountMode;         // Options for counting when the event will be finished.
+    CountMode_t fCountMode;            // Options for counting when the event will be finished.
+    AliGenPythiaEventHeader* fHeader;  //! Event header
+    AliRunLoader*            fRL;      //! Run Loader
+    const Text_t* fFileName;           //Name of file to read from
+     
     // fCountMode = kCountAll         --> All particles that end up in the
     //                                    stack are counted
     // fCountMode = kCountParents     --> Only selected parents are counted
     // fCountMode = kCountTrackabless --> Only particles flagged for tracking
     //                                     are counted
     //
-    ClassDef(AliGenPythia,4) // AliGenerator interface to Pythia
+    ClassDef(AliGenPythia,5) // AliGenerator interface to Pythia
 };
 #endif