]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - THydjet/AliGenHydjet.cxx
adjust output filename for LEGO
[u/mrichter/AliRoot.git] / THydjet / AliGenHydjet.cxx
index 3d90a42f0d2031e7630104de292dc31f62ffb601..915c1745b929dcf7cf0e9100a5125b8d491a2261 100755 (executable)
@@ -27,6 +27,7 @@
 #include <TClonesArray.h>
 
 #include "AliGenHydjet.h"
+#include "AliLog.h"
 #include "AliGenHydjetEventHeader.h"
 #include "AliRun.h"
 #include "AliPythiaRndm.h"
@@ -36,7 +37,6 @@ ClassImp(AliGenHydjet)
 AliGenHydjet::AliGenHydjet(Int_t npart) :
   AliGenMC(npart),
     //initial parameters
-  fEnergyCMS(5500.),      //Energy cms
   fFrame("CMS"),      // Reference frame
   fAtomicWeigth(207),        // Projectile-Target atomic weight
   fIfbtype(0),          // centrality type
@@ -63,18 +63,17 @@ AliGenHydjet::AliGenHydjet(Int_t npart) :
 {
 // Default PbPb collisions at 5. 5 TeV
 //
+  fEnergyCMS = 5500.;      //Energy cms
   fName = "Hydjet";
   fTitle = "Particle Generator using Hydjet";
-  fParticles = new TClonesArray("TParticle",10000);
-   // Set random number generator 
-    if (!AliPythiaRndm::GetPythiaRandom()) 
-      AliPythiaRndm::SetPythiaRandom(GetRandom());
+  // Set random number generator 
+  if (!AliPythiaRndm::GetPythiaRandom()) 
+    AliPythiaRndm::SetPythiaRandom(GetRandom());
 }
 
 AliGenHydjet::~AliGenHydjet()
 {
 // Destructor
-    delete fParticles;
 }
 
 void AliGenHydjet::Init()
@@ -113,6 +112,7 @@ void AliGenHydjet::Generate()
   Float_t polar[3]    =   {0,0,0};
   Float_t origin[3]   =   {0,0,0};
   Float_t origin0[3]  =   {0,0,0};
+  Float_t time0 = 0.;
   Float_t p[3];
   Float_t tof;
 
@@ -124,19 +124,20 @@ void AliGenHydjet::Generate()
   kf = 0;
 
   for (j = 0;j < 3; j++) origin0[j] = fOrigin[j];
+  time0 = fTimeOrigin;
   if(fVertexSmear == kPerEvent) {
       Vertex();
       for (j=0; j < 3; j++) origin0[j] = fVertex[j];
+      time0 = fTime;
   }
 
   while(1)
   {
 //    Generate one event
       fHydjet->GenerateEvent();
-      fHydjet->ImportParticles(fParticles,"All");
+      fHydjet->ImportParticles(&fParticles,"All");
 
-      Int_t np = fParticles->GetEntriesFast();
-      printf("\n **************************************************%d\n",np);
+      Int_t np = fParticles.GetEntriesFast();
       Int_t nc = 0;
       if (np == 0 ) continue;
       Int_t i;
@@ -150,13 +151,14 @@ void AliGenHydjet::Generate()
       fVertex[0] = origin0[0];
       fVertex[1] = origin0[1];
       fVertex[2] = origin0[2];
+      fTime = time0;
 
 //
 // Now select the final state particles
 //
 
       for(i = 0; i<np; i++){
-         TParticle *  iparticle = (TParticle *) fParticles->At(i);
+         TParticle *  iparticle = (TParticle *) fParticles.At(i);
          // Is this a final state particle ?
          if (!Stable(iparticle)) continue;
          Bool_t selected = kTRUE;
@@ -176,7 +178,7 @@ void AliGenHydjet::Generate()
 //
 
       for(i = 0; i<np; i++) {
-         TParticle *  iparticle = (TParticle *) fParticles->At(i);
+         TParticle *  iparticle = (TParticle *) fParticles.At(i);
          Bool_t  hasDaughter = (iparticle->GetFirstDaughter() > 0);
          if(pSelected[i]){
            kf = iparticle->GetPdgCode();
@@ -187,7 +189,7 @@ void AliGenHydjet::Generate()
            origin[0] = fVertex[0]+iparticle->Vx()/10;
            origin[1] = fVertex[1]+iparticle->Vy()/10;
            origin[2] = fVertex[2]+iparticle->Vz()/10;
-           tof   = kconv*iparticle->T();
+           tof   = fTime + kconv*iparticle->T();
 
            imo = -1;
            //imo = iparticle->GetFirstMother();
@@ -199,7 +201,7 @@ void AliGenHydjet::Generate()
       } // particle loop
       delete[] pSelected;
 
-      printf("\n I've put %i particles on the stack \n",nc);
+      AliInfo(Form("\n I've put %i particles on the stack \n",nc));
       if (nc > 0) break;
   } // event loop
   MakeHeader();
@@ -265,6 +267,7 @@ void AliGenHydjet::MakeHeader()
 
 // Event Vertex
     header->SetPrimaryVertex(fVertex);
+    header->SetInteractionTime(fTime);
     AddHeader(header);
     fCollisionGeometry = (AliGenHydjetEventHeader*)  header;
 }