]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TUHKMgen/AliGenUHKM.cxx
Adding the possibility not to follow particle mothers during StepManager (default...
[u/mrichter/AliRoot.git] / TUHKMgen / AliGenUHKM.cxx
index f84e5f110366d6b6138fd613b2056730dc2bca1e..8e19451dbab2934f8cf55793fc1999021ad77ba2 100755 (executable)
@@ -119,8 +119,8 @@ AliGenUHKM::AliGenUHKM()
   fHydjetParams.fIenglu=0;
   fHydjetParams.fIanglu=0;
 */
-  strncpy(fParticleFilename, Form("%s/TUHKMgen/UHKM/particles.data", gSystem->Getenv("ALICE_ROOT")), 256);
-  strncpy(fDecayFilename, Form("%s/TUHKMgen/UHKM/tabledecay.txt", gSystem->Getenv("ALICE_ROOT")), 256);
+  strncpy(fParticleFilename, Form("%s/TUHKMgen/UHKM/particles.data", gSystem->Getenv("ALICE_ROOT")), 255);
+  strncpy(fDecayFilename, Form("%s/TUHKMgen/UHKM/tabledecay.txt", gSystem->Getenv("ALICE_ROOT")), 255);
   for(Int_t i=0; i<500; i++) {
     fStableFlagPDG[i] = 0;
     fStableFlagStatus[i] = kFALSE;
@@ -209,8 +209,8 @@ AliGenUHKM::AliGenUHKM(Int_t npart)
   fHydjetParams.fIanglu=0;
 */
 
-  strncpy(fParticleFilename, Form("%s/TUHKMgen/UHKM/particles.data", gSystem->Getenv("ALICE_ROOT")), 256);
-  strncpy(fDecayFilename, Form("%s/TUHKMgen/UHKM/tabledecay.txt", gSystem->Getenv("ALICE_ROOT")), 256);
+  strncpy(fParticleFilename, Form("%s/TUHKMgen/UHKM/particles.data", gSystem->Getenv("ALICE_ROOT")), 255);
+  strncpy(fDecayFilename, Form("%s/TUHKMgen/UHKM/tabledecay.txt", gSystem->Getenv("ALICE_ROOT")), 255);
   for(Int_t i=0; i<500; i++) {
     fStableFlagPDG[i] = 0;
     fStableFlagStatus[i] = kFALSE;
@@ -324,12 +324,14 @@ void AliGenUHKM::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 v[3];
   Float_t mass=0.0, energy=0.0;
 
   Vertex();
   for(Int_t j=0; j<3; j++) origin0[j] = fVertex[j];
+  time0 = fTime;
 
   // Generate the event and import particles
   fUHKMgen->GenerateEvent();
@@ -451,13 +453,14 @@ void AliGenUHKM::Generate()
       origin[0] = origin0[0]+v[0];
       origin[1] = origin0[1]+v[1];
       origin[2] = origin0[2]+v[2];
+      Float_t time = time0+iparticle->T();
       imo = nt;
       
       trackFlag = fTrackIt;    // Track this particle, unless otherwise specified by fTrackIt
       
       PushTrack(trackFlag, imo, kf,
                p[0], p[1], p[2], energy,
-               origin[0], origin[1], origin[2], iparticle->T(),
+               origin[0], origin[1], origin[2], time,
                polar[0], polar[1], polar[2],
                hasMother ? kPDecay:kPNoProcess, nt);
       
@@ -473,6 +476,7 @@ void AliGenUHKM::Generate()
   eventVertex[0] = origin0[0];
   eventVertex[1] = origin0[1];
   eventVertex[2] = origin0[2];
+  Float_t eventTime = time0;
 
   // Builds the event header, to be called after each event
   AliGenEventHeader* header = new AliGenHijingEventHeader("UHKM");
@@ -486,6 +490,7 @@ void AliGenUHKM::Generate()
 
   ((AliGenHijingEventHeader*) header)->SetNProduced(fNprimaries);
   ((AliGenHijingEventHeader*) header)->SetPrimaryVertex(eventVertex);
+  ((AliGenHijingEventHeader*) header)->SetInteractionTime(eventTime);
   ((AliGenHijingEventHeader*) header)->SetImpactParameter(b);
   ((AliGenHijingEventHeader*) header)->SetTotalEnergy(0.0);
   ((AliGenHijingEventHeader*) header)->SetHardScatters(0);
@@ -495,11 +500,12 @@ void AliGenUHKM::Generate()
   ((AliGenHijingEventHeader*) header)->SetReactionPlaneAngle(0);//evrot);
 
   header->SetPrimaryVertex(fVertex);
+  header->SetInteractionTime(fTime);
   AddHeader(header);
   fCollisionGeometry = (AliGenHijingEventHeader*)  header;
 
   delete [] idsOnStack;
-
+  delete [] newPos;
 }
 
 void AliGenUHKM::Copy(TObject &) const