1 #ifndef ALIGENCOCKTAIL_H
2 #define ALIGENCOCKTAIL_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 // Container class for AliGenerator through recursion.
9 // (Container is itself an AliGenerator)
10 // Author: andreas.morsch@cern.ch
13 #include "AliGenerator.h"
15 class AliGenCocktailEntry;
18 class AliGenCocktail : public AliGenerator
22 AliGenCocktail(const AliGenCocktail &cocktail);
24 virtual ~AliGenCocktail();
26 virtual void Generate();
28 // Add a new generator to the list
29 virtual void AddGenerator
30 (AliGenerator *Generator, char* Name, Float_t RateExp );
31 virtual TList* Entries() {return fEntries;}
33 AliGenCocktailEntry* FirstGenerator();
34 AliGenCocktailEntry* NextGenerator();
35 void FirstGeneratorPair(AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
36 void NextGeneratorPair (AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
37 AliGenCocktail & operator=(const AliGenCocktail & rhs);
40 Int_t fNGenerators; // Number of generators booked
41 TList *fEntries; // List of Generators
42 TObjLink *flnk1; // ! Iterator for first generator
43 TObjLink *flnk2; // ! Iterator for second generator
45 ClassDef(AliGenCocktail,1) // Particle cocktail generator a la SHAKER