//
#include "AliGenerator.h"
+#include <TArrayF.h>
class AliGenCocktailEntry;
+class AliGenCocktailEventHeader;
+class TArrayF;
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
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;