]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliGenCocktail.h
default constructor sets datamembers to zero
[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 // Container class for AliGenerator through recursion.
9 // (Container is itself an AliGenerator)
10 // Author: andreas.morsch@cern.ch 
11 //
12
13 #include "AliGenerator.h"
14
15 class AliGenCocktailEntry;
16
17
18 class AliGenCocktail : public AliGenerator
19 {
20  public:
21     AliGenCocktail();
22     AliGenCocktail(const AliGenCocktail &cocktail);
23      
24     virtual ~AliGenCocktail();
25     virtual void Init();
26     virtual void Generate();
27     //
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;}
32     // Iterators
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);
38     
39  protected:
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
44 //
45     ClassDef(AliGenCocktail,1) // Particle cocktail generator a la SHAKER
46 };
47
48 #endif
49
50
51
52
53