]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenCocktailAfterBurner.h
SetSeed implementation
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktailAfterBurner.h
index 4771c046ee30f10718a4d2bc9c88740ef8bb9ec8..c6920406df3a7ad08231eb969c6284c3d5d716fa 100644 (file)
 #include <TMCProcess.h>
 
 #include "AliGenCocktail.h"
-#include "AliRun.h"
+#include "AliRunLoader.h"
 
 class AliGenCocktailEntry;
 class AliStack;
+class AliCollisionGeometry;
+class AliGenCocktailEventHeader;
+
 
 class AliGenCocktailAfterBurner : public  AliGenCocktail
 {
@@ -26,9 +29,7 @@ class AliGenCocktailAfterBurner : public  AliGenCocktail
 
  public:
     AliGenCocktailAfterBurner();
-    AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner& in);
     virtual ~AliGenCocktailAfterBurner();
-    AliGenCocktailAfterBurner & operator=(const AliGenCocktailAfterBurner & rhs);
     
     virtual void  Init();
     virtual void  Generate();
@@ -36,16 +37,19 @@ class AliGenCocktailAfterBurner : public  AliGenCocktail
     //
     // Add a new generator to the list
     virtual void  AddAfterBurner
-       (AliGenerator *Generator, char* Name, Float_t RateExp );
+       (AliGenerator *Generator, const char* Name, Float_t RateExp );
     
     AliStack*     GetStack(Int_t n) const;
     AliStack*     GetActiveStack() const{return fActiveStack;}
-    
+
+    AliCollisionGeometry* GetCollisionGeometry(Int_t n) const;
     AliGenerator* GetCurrentGenerator() const;
     virtual void  SetActiveEventNumber(Int_t actev);
     Int_t         GetActiveEventNumber() const {return fActiveEvent;}
-    virtual Int_t GetNumberOfEvents() const {return gAlice->GetEventsPerRun() + fNBgEvents;}
+    virtual Int_t GetNumberOfEvents() const {return AliRunLoader::Instance()->GetNumberOfEventsPerRun() + fNBgEvents;}
     void          SetNBgEvents(Int_t nbg=0){fNBgEvents = nbg;}
+    AliGenCocktailEventHeader* GetActiveEventHeader() const { return fHeaders[fActiveEvent]; }
 
     static TMCProcess IntToMCProcess(Int_t no);
 
@@ -57,6 +61,10 @@ class AliGenCocktailAfterBurner : public  AliGenCocktail
                                 //   if true just return event to gAlice
                                 //   
     TObjArray *fInternalStacks; //! List of internal stacks
+
+    AliCollisionGeometry**      fCollisionGeometries; //! List of Collision Geometries
+    AliGenCocktailEventHeader** fHeaders;             //! List of Headers
+    
     Int_t fCurrentEvent;        //  Number of current event/stack
     
 
@@ -71,7 +79,10 @@ class AliGenCocktailAfterBurner : public  AliGenCocktail
                                           //(events that are generated only temporarly)
                                           //needed by some afterburners that works better with higher statistics 
                                           //this generates such a artificial one
- private:   
+ private:
+    AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner& in);
+    AliGenCocktailAfterBurner & operator=(const AliGenCocktailAfterBurner & rhs);
+
     ClassDef(AliGenCocktailAfterBurner,2) // Particle cocktail generator a la SHAKER
                                           //background events added
 };