]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVGEN/AliGenCocktail.h
Code lost in transition to new I/O restored.
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktail.h
CommitLineData
fe4da5cc 1#ifndef ALIGENCOCKTAIL_H
2#define ALIGENCOCKTAIL_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
675e9664 8// Container class for AliGenerator through recursion.
9// (Container is itself an AliGenerator)
10// Author: andreas.morsch@cern.ch
11//
12
fe4da5cc 13#include "AliGenerator.h"
886b6f73 14
374924b5 15class AliGenCocktailEntry;
fe4da5cc 16
17
18class AliGenCocktail : public AliGenerator
19{
fe4da5cc 20 public:
21 AliGenCocktail();
374924b5 22 AliGenCocktail(const AliGenCocktail &cocktail);
23
fe4da5cc 24 virtual ~AliGenCocktail();
25 virtual void Init();
09e2e187 26 virtual void FinishRun();
fe4da5cc 27 virtual void Generate();
28 //
29 // Add a new generator to the list
30 virtual void AddGenerator
a436e7fc 31 (AliGenerator *Generator, char* Name, Float_t RateExp );
fe4da5cc 32 virtual TList* Entries() {return fEntries;}
33 // Iterators
34 AliGenCocktailEntry* FirstGenerator();
35 AliGenCocktailEntry* NextGenerator();
374924b5 36 void FirstGeneratorPair(AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
37 void NextGeneratorPair (AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
38 AliGenCocktail & operator=(const AliGenCocktail & rhs);
0af12c00 39
374924b5 40 protected:
41 Int_t fNGenerators; // Number of generators booked
42 TList *fEntries; // List of Generators
a436e7fc 43 TObjLink *flnk1; // ! Iterator for first generator
44 TObjLink *flnk2; // ! Iterator for second generator
fe4da5cc 45//
0af12c00 46 private:
dc1d768c 47 void Copy(TObject &arun) const;
374924b5 48 ClassDef(AliGenCocktail,1) // Particle cocktail generator a la SHAKER
fe4da5cc 49};
50
51#endif
52
53
54
55
56