X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EVGEN%2FAliGenCocktailAfterBurner.h;h=cb06d3f6eeff9a4db2b5cacb685e7cd61ef040d5;hb=2d8d4543d0efa1cf60388aac4671831e39cc9f27;hp=3a0e78d1462f0b70fbc7613d8f4f86da952bf1ab;hpb=984c69bd8979f6e3af7f504f309f996665be628f;p=u%2Fmrichter%2FAliRoot.git diff --git a/EVGEN/AliGenCocktailAfterBurner.h b/EVGEN/AliGenCocktailAfterBurner.h index 3a0e78d1462..cb06d3f6eef 100644 --- a/EVGEN/AliGenCocktailAfterBurner.h +++ b/EVGEN/AliGenCocktailAfterBurner.h @@ -7,49 +7,55 @@ // Container class for AliGenerator through recursion. // (Container is itself an AliGenerator) -// Author: andreas.morsch@cern.ch +// Author: piotr.skowronski@cern.ch // -#include "AliGenCocktailAfterBurner.h" #include "AliGenCocktail.h" - +#include "AliRun.h" class AliGenCocktailEntry; class AliStack; class AliGenCocktailAfterBurner : public AliGenCocktail { +//container class for other generators +//extends AliGenCocktail functionality +//with possiblity of adding after-burners + public: AliGenCocktailAfterBurner(); -// AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner &cocktail){} - + AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner& in); virtual ~AliGenCocktailAfterBurner(); - virtual void Init(); - virtual void Generate(); - virtual void SetTracks(Int_t stackno); + AliGenCocktailAfterBurner & operator=(const AliGenCocktailAfterBurner & rhs); + + virtual void Init(); + virtual void Generate(); + virtual void SetTracks(Int_t stackno); // // Add a new generator to the list - virtual void AddAfterBurner + virtual void AddAfterBurner (AliGenerator *Generator, char* Name, Float_t RateExp ); - AliGenCocktailAfterBurner & operator=(const AliGenCocktailAfterBurner & rhs); - AliStack* GetStack(Int_t n); - AliStack* GetActiveStack() {return fActiveStack;} + AliStack* GetStack(Int_t n) const; + AliStack* GetActiveStack() const{return fActiveStack;} - AliGenerator* GetCurrentGenerator(); + AliGenerator* GetCurrentGenerator() const; virtual void SetActiveEventNumber(Int_t actev); - Int_t GetActiveEventNumber() {return fActiveEvent;} - virtual void SetNumberOfEvents(Int_t n) {fNumberOfEvents=n;} - virtual Int_t GetNumberOfEvents() {return fNumberOfEvents;} + Int_t GetActiveEventNumber() const {return fActiveEvent;} + virtual Int_t GetNumberOfEvents() const {return gAlice->GetEventsPerRun() + fNBgEvents;} + void SetNBgEvents(Int_t nbg=0){fNBgEvents = nbg;} static AliMCProcess IntToMCProcess(Int_t no); + protected: Int_t fNAfterBurners; // Number of afterburners TList *fAfterBurnerEntries;// List of afterburners - Bool_t fGenerationDone; + Bool_t fGenerationDone; // flag if generation is already done + // during first call of Generate method + // if true just return event to gAlice + // TObjArray *fInternalStacks; //! List of internal stacks Int_t fCurrentEvent; // Number of current event/stack - Int_t fNumberOfEvents; // Number of events to process AliStack* fActiveStack; //! pointer to the current stack Int_t fActiveEvent; //HBT Processor needs more then one event to do correlations @@ -58,11 +64,17 @@ class AliGenCocktailAfterBurner : public AliGenCocktail //are addressed to this event AliGenerator *fCurrentGenerator; // Current event generator - ClassDef(AliGenCocktailAfterBurner,1) // Particle cocktail generator a la SHAKER + Int_t fNBgEvents; //Nuber of backgrouns events + //(events that are generated only temporarly) + //needed by some afterburners that works better with higher statistics + //this generates such a artificial one + private: + ClassDef(AliGenCocktailAfterBurner,2) // Particle cocktail generator a la SHAKER + //background events added }; inline AliGenerator* - AliGenCocktailAfterBurner::GetCurrentGenerator() + AliGenCocktailAfterBurner::GetCurrentGenerator() const { return fCurrentGenerator; }