]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliGenCocktail.h
Containers definition
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktail.h
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                               */
5
6 /* $Id$ */
7
8 #include "AliGenerator.h"
9 #include <TList.h>
10
11 class AliGenCocktailEntry;
12
13
14 class AliGenCocktail : public AliGenerator
15 {
16  public:
17     AliGenCocktail();
18     AliGenCocktail(const AliGenCocktail &cocktail);
19      
20     virtual ~AliGenCocktail();
21     virtual void Init();
22     virtual void Generate();
23     //
24     // Add a new generator to the list
25     virtual void AddGenerator
26         (AliGenerator *Generator, char* Name, Float_t RateExp );
27     virtual TList* Entries() {return fEntries;}
28     // Iterators
29     AliGenCocktailEntry*  FirstGenerator();
30     AliGenCocktailEntry*  NextGenerator();
31     void FirstGeneratorPair(AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
32     void NextGeneratorPair (AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
33     AliGenCocktail & operator=(const AliGenCocktail & rhs);
34     
35  protected:
36     Int_t fNGenerators;   // Number of generators booked
37     TList  *fEntries;     // List of Generators
38     TObjLink *flnk1;      // ! Iterator for first generator
39     TObjLink *flnk2;      // ! Iterator for second generator
40 //
41     ClassDef(AliGenCocktail,1) // Particle cocktail generator a la SHAKER
42 };
43
44 #endif
45
46
47
48
49