]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenCocktail.h
Bug fixed (Christian)
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktail.h
index 8883b6a0826ff776fc3f06b0175475d903b50953..4015e778918ec764760b170b1bb345fd5175fe62 100644 (file)
 //
 
 #include "AliGenerator.h"
+#include <TArrayF.h>
 
 class AliGenCocktailEntry;
+class AliGenCocktailEventHeader;
+class TArrayF;
 
 
 class AliGenCocktail : public AliGenerator
@@ -26,6 +29,9 @@ class AliGenCocktail : public AliGenerator
     virtual void FinishRun();
     virtual void Generate();
     virtual void SetVertexSmear(VertexSmear_t smear);
+    virtual void SetRandomise(Bool_t flag) {fRandom = flag;}
+    virtual void UsePerEventRates() {fUsePerEventRate  = kTRUE;}
+           
     //
     // Add a new generator to the list
     virtual void AddGenerator
@@ -37,12 +43,18 @@ class AliGenCocktail : public AliGenerator
     void FirstGeneratorPair(AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
     void NextGeneratorPair (AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
     AliGenCocktail & operator=(const AliGenCocktail & rhs);
-
+    virtual void AddHeader(AliGenEventHeader* header);
+           
  protected:
-    Int_t fNGenerators;   // Number of generators booked
-    TList  *fEntries;     // List of Generators
-    TObjLink *flnk1;      // ! Iterator for first generator
-    TObjLink *flnk2;      // ! Iterator for second generator
+    Int_t fNGenerators;                 // Number of generators booked
+    Bool_t fRandom;                     // Flag to select random generator from list
+    Bool_t fUsePerEventRate;            // Flag to generate the events according to the rate per event    
+    TArrayF  fProb;                     // Probability of an event (if fRandom == kTRUE)
+    TList  *fEntries;                   // List of Generators
+    TObjLink *flnk1;                    // ! Iterator for first generator
+    TObjLink *flnk2;                    // ! Iterator for second generator
+    AliGenCocktailEventHeader* fHeader; // !Header container  
+                          
 //
  private:
     void Copy(TObject &arun) const;