]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVGEN/AliGenCocktailAfterBurner.h
Removing remnants of the old Makefile
[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)
20dddfab 10// Author: piotr.skowronski@cern.ch
0b359ada 11//
0b359ada 12#include "AliGenCocktail.h"
2b9786f4 13#include "AliRun.h"
0b359ada 14
15class AliGenCocktailEntry;
16class AliStack;
17
18class AliGenCocktailAfterBurner : public AliGenCocktail
19{
20dddfab 20//container class for other generators
21//extends AliGenCocktail functionality
22//with possiblity of adding after-burners
23
0b359ada 24 public:
25 AliGenCocktailAfterBurner();
20dddfab 26 AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner& in);
0b359ada 27 virtual ~AliGenCocktailAfterBurner();
20dddfab 28 AliGenCocktailAfterBurner & operator=(const AliGenCocktailAfterBurner & rhs);
29
30 virtual void Init();
31 virtual void Generate();
32 virtual void SetTracks(Int_t stackno);
0b359ada 33 //
34 // Add a new generator to the list
20dddfab 35 virtual void AddAfterBurner
0b359ada 36 (AliGenerator *Generator, char* Name, Float_t RateExp );
0b359ada 37
20dddfab 38 AliStack* GetStack(Int_t n) const;
39 AliStack* GetActiveStack() const{return fActiveStack;}
0b359ada 40
20dddfab 41 AliGenerator* GetCurrentGenerator() const;
0b359ada 42 virtual void SetActiveEventNumber(Int_t actev);
20dddfab 43 Int_t GetActiveEventNumber() const {return fActiveEvent;}
44 virtual Int_t GetNumberOfEvents() const {return gAlice->GetEventsPerRun() + fNBgEvents;}
45 void SetNBgEvents(Int_t nbg=0){fNBgEvents = nbg;}
984c69bd 46
0b359ada 47 static AliMCProcess IntToMCProcess(Int_t no);
466bfded 48
0b359ada 49 protected:
984c69bd 50 Int_t fNAfterBurners; // Number of afterburners
51 TList *fAfterBurnerEntries;// List of afterburners
2b9786f4 52 Bool_t fGenerationDone; // flag if generation is already done
53 // during first call of Generate method
54 // if true just return event to gAlice
55 //
984c69bd 56 TObjArray *fInternalStacks; //! List of internal stacks
57 Int_t fCurrentEvent; // Number of current event/stack
0b359ada 58
984c69bd 59
60 AliStack* fActiveStack; //! pointer to the current stack
61 Int_t fActiveEvent; //HBT Processor needs more then one event to do correlations
62 //Due to complications in fortran, it first calls C routine
63 //that sets the active event to be read. All alihbtp_gettrack
64 //are addressed to this event
0b359ada 65
984c69bd 66 AliGenerator *fCurrentGenerator; // Current event generator
20dddfab 67 Int_t fNBgEvents; //Nuber of backgrouns events
68 //(events that are generated only temporarly)
69 //needed by some afterburners that works better with higher statistics
70 //this generates such a artificial one
71 private:
466bfded 72 ClassDef(AliGenCocktailAfterBurner,2) // Particle cocktail generator a la SHAKER
73 //background events added
0b359ada 74};
75
76inline AliGenerator*
20dddfab 77 AliGenCocktailAfterBurner::GetCurrentGenerator() const
0b359ada 78{
79 return fCurrentGenerator;
80}
81
82
83#endif
84
85
86
87
88