New files needed by the HBT processor (P.Skowronski)
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktailAfterBurner.h
CommitLineData
0b359ada 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 */
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#include "AliGenCocktailAfterBurner.h"
13#include "AliGenCocktail.h"
2b9786f4 14#include "AliRun.h"
0b359ada 15
16class AliGenCocktailEntry;
17class AliStack;
18
19class AliGenCocktailAfterBurner : public AliGenCocktail
20{
21 public:
22 AliGenCocktailAfterBurner();
23// AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner &cocktail){}
24
25 virtual ~AliGenCocktailAfterBurner();
26 virtual void Init();
27 virtual void Generate();
28 virtual void SetTracks(Int_t stackno);
29 //
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);
34
35 AliStack* GetStack(Int_t n);
36 AliStack* GetActiveStack() {return fActiveStack;}
37
38 AliGenerator* GetCurrentGenerator();
39 virtual void SetActiveEventNumber(Int_t actev);
40 Int_t GetActiveEventNumber() {return fActiveEvent;}
2b9786f4 41 virtual Int_t GetNumberOfEvents() {return gAlice->GetEventsPerRun();}
984c69bd 42
0b359ada 43 static AliMCProcess IntToMCProcess(Int_t no);
44 protected:
984c69bd 45 Int_t fNAfterBurners; // Number of afterburners
46 TList *fAfterBurnerEntries;// List of afterburners
2b9786f4 47 Bool_t fGenerationDone; // flag if generation is already done
48 // during first call of Generate method
49 // if true just return event to gAlice
50 //
984c69bd 51 TObjArray *fInternalStacks; //! List of internal stacks
52 Int_t fCurrentEvent; // Number of current event/stack
0b359ada 53
984c69bd 54
55 AliStack* fActiveStack; //! pointer to the current stack
56 Int_t fActiveEvent; //HBT Processor needs more then one event to do correlations
57 //Due to complications in fortran, it first calls C routine
58 //that sets the active event to be read. All alihbtp_gettrack
59 //are addressed to this event
0b359ada 60
984c69bd 61 AliGenerator *fCurrentGenerator; // Current event generator
0b359ada 62 ClassDef(AliGenCocktailAfterBurner,1) // Particle cocktail generator a la SHAKER
63};
64
65inline AliGenerator*
66 AliGenCocktailAfterBurner::GetCurrentGenerator()
67{
68 return fCurrentGenerator;
69}
70
71
72#endif
73
74
75
76
77