1 #ifndef AliGenCocktailAfterBurner_H
2 #define AliGenCocktailAfterBurner_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
12 #include "AliGenCocktailAfterBurner.h"
13 #include "AliGenCocktail.h"
16 class AliGenCocktailEntry;
19 class AliGenCocktailAfterBurner : public AliGenCocktail
22 AliGenCocktailAfterBurner();
23 // AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner &cocktail){}
25 virtual ~AliGenCocktailAfterBurner();
27 virtual void Generate();
28 virtual void SetTracks(Int_t stackno);
30 // Add a new generator to the list
31 virtual void AddAfterBurner
32 (AliGenerator *Generator, char* Name, Float_t RateExp );
33 AliGenCocktailAfterBurner & operator=(const AliGenCocktailAfterBurner & rhs);
35 AliStack* GetStack(Int_t n);
36 AliStack* GetActiveStack() {return fActiveStack;}
38 AliGenerator* GetCurrentGenerator();
39 virtual void SetActiveEventNumber(Int_t actev);
40 Int_t GetActiveEventNumber() {return fActiveEvent;}
41 virtual Int_t GetNumberOfEvents() {return gAlice->GetEventsPerRun() + fNBgEvents;}
43 static AliMCProcess IntToMCProcess(Int_t no);
44 void SetNBgEvents(Int_t nbg=0){fNBgEvents = nbg;}
48 Int_t fNAfterBurners; // Number of afterburners
49 TList *fAfterBurnerEntries;// List of afterburners
50 Bool_t fGenerationDone; // flag if generation is already done
51 // during first call of Generate method
52 // if true just return event to gAlice
54 TObjArray *fInternalStacks; //! List of internal stacks
55 Int_t fCurrentEvent; // Number of current event/stack
58 AliStack* fActiveStack; //! pointer to the current stack
59 Int_t fActiveEvent; //HBT Processor needs more then one event to do correlations
60 //Due to complications in fortran, it first calls C routine
61 //that sets the active event to be read. All alihbtp_gettrack
62 //are addressed to this event
64 AliGenerator *fCurrentGenerator; // Current event generator
67 ClassDef(AliGenCocktailAfterBurner,2) // Particle cocktail generator a la SHAKER
68 //background events added
72 AliGenCocktailAfterBurner::GetCurrentGenerator()
74 return fCurrentGenerator;