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