AddHeader implemented.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 15 Aug 2007 16:04:15 +0000 (16:04 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 15 Aug 2007 16:04:15 +0000 (16:04 +0000)
EVGEN/AliGenMC.cxx
EVGEN/AliGenMC.h

index a6f8963..243f63d 100644 (file)
@@ -27,6 +27,7 @@
 #include <TParticle.h>
 
 #include "AliGenMC.h"
+#include "AliRun.h"
 #include "AliGeometry.h"
 
 ClassImp(AliGenMC)
@@ -60,7 +61,8 @@ AliGenMC::AliGenMC()
      fDyBoost(0.),
      fGeometryAcceptance(0),
      fPdgCodeParticleforAcceptanceCut(0),
-     fNumberOfAcceptedParticles(2)
+     fNumberOfAcceptedParticles(0),
+     fNprimaries(0)
 {
 // Default Constructor
 }
@@ -94,7 +96,8 @@ AliGenMC::AliGenMC(Int_t npart)
      fDyBoost(0.),
      fGeometryAcceptance(0),
      fPdgCodeParticleforAcceptanceCut(0),
-     fNumberOfAcceptedParticles(2)
+     fNumberOfAcceptedParticles(0),
+     fNprimaries(0)
 {
 //  Constructor
 // 
@@ -370,3 +373,13 @@ void AliGenMC::Boost()
        iparticle->SetMomentum(px, py, pzb, eb);
     }
 }
+
+void AliGenMC::AddHeader(AliGenEventHeader* header)
+{
+    // Passes header either to the container or to gAlice
+    if (fContainer) {
+       fContainer->AddHeader(header);
+    } else {
+       gAlice->SetGenEventHeader(header);      
+    }
+}
index b9a621b..68c200a 100644 (file)
@@ -18,6 +18,8 @@ class TParticle;
 #include <TString.h>
 
 class AliGeometry;
+class AliGenEventHeader;
+
 #include "AliDecayer.h"
 #include "AliGenerator.h"
 
@@ -58,7 +60,7 @@ class AliGenMC : public AliGenerator
        {fTarget = tar; fATarget = a; fZTarget = z;}
     virtual void   SetCrossingAngle(Float_t phiX, Float_t phiY) {fXingAngleX = phiX; fXingAngleY = phiY;}
     virtual void Boost();
-
+    virtual void AddHeader(AliGenEventHeader* header);
  protected:
     // check if particle is selected as parent particle
     Bool_t ParentSelected(Int_t ip) const;
@@ -97,7 +99,8 @@ class AliGenMC : public AliGenerator
     AliGeometry * fGeometryAcceptance; // Geometry to which particles must be simulated
     Int_t       fPdgCodeParticleforAcceptanceCut;  // Abs(PDG Code) of the particle to which the GeometryAcceptance must be applied
     Int_t       fNumberOfAcceptedParticles;  // Number of accepted particles in GeometryAcceptance with the right Abs(PdgCode) 
-
+    Int_t       fNprimaries;                 // Number of produced and stored particles
+    
  private:
     AliGenMC(const AliGenMC &MC);
     AliGenMC & operator=(const AliGenMC & rhs);