]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EPOS/AliGenEpos.cxx
Updating PMT gains for Pb-Pb
[u/mrichter/AliRoot.git] / EPOS / AliGenEpos.cxx
index 7e4cfb6938a89290a30cabf4c671f9840b8c0a2d..fb4d9ce3495cf7361dfab79ae4e3675746eb84b2 100644 (file)
@@ -54,14 +54,17 @@ void AliGenEpos::Init() {
 
 void AliGenEpos::Generate() {
   // Does actual generation and output conversion
-         Float_t polar[3]   =   {0,0,0};
+         Float_t polar[3]    =   {0,0,0};
          Float_t origin0[3]  =   {0,0,0};
          Float_t origin[3]   =   {0,0,0};
+         Float_t time0 = 0.;
+         Float_t time  = 0.;
          fNprimaries = 0;
          Int_t nt  = 0; //output parameter for PushTrack
 
          Vertex();
          for (int j=0; j < 3; j++) origin0[j] = fVertex[j];
+         time0 = fTime;
 
          // Generate one event
 
@@ -74,6 +77,7 @@ void AliGenEpos::Generate() {
 
          Int_t *idsOnStack = NULL;
          idsOnStack = new Int_t[np];
+         for (int i = 0; i < np; i++) idsOnStack[i] = 0;
          TParticle *iparticle;
 
          for (int i = 0; i < np; i++) {
@@ -90,13 +94,14 @@ void AliGenEpos::Generate() {
                          origin[0] = iparticle->Vx();
                          origin[1] = iparticle->Vy();
                          origin[2] = iparticle->Vz();
+                         time      = iparticle->T();
                          //doubled track with freeze out coordinates for femtoscopy
                          PushTrack(0,
                                          imo>=0?idsOnStack[imo]:-1,
                                          iparticle->GetPdgCode(),
                                iparticle->Px(),iparticle->Py(),iparticle->Pz(),iparticle->Energy(),
                                origin[0], origin[1], origin[2],
-                               iparticle->T(),
+                               time,
                                polar[0],polar[1],polar[2],
                                hasMother ? kPDecay:kPNoProcess,nt);
 
@@ -108,12 +113,13 @@ void AliGenEpos::Generate() {
                      origin[0] += origin0[0];
                      origin[1] += origin0[1];
                      origin[2] += origin0[2];
+                     time      += time0;
                          PushTrack(1,
                                          nt,   //doubled track as mother
                                          iparticle->GetPdgCode(),
                                iparticle->Px(),iparticle->Py(),iparticle->Pz(),iparticle->Energy(),
                                origin[0], origin[1], origin[2],
-                               iparticle->T(),
+                               time,
                                polar[0],polar[1],polar[2],
                                kPDecay,nt);
                      fNprimaries++;
@@ -123,12 +129,13 @@ void AliGenEpos::Generate() {
                          origin[0] = iparticle->Vx();
                          origin[1] = iparticle->Vy();
                          origin[2] = iparticle->Vz();
+                         time      = iparticle->T();
                          PushTrack(0,
                                          imo>=0?idsOnStack[imo]:-1,
                                          iparticle->GetPdgCode(),
                                iparticle->Px(),iparticle->Py(),iparticle->Pz(),iparticle->Energy(),
                                origin[0], origin[1], origin[2],
-                               iparticle->T(),
+                               time,
                                polar[0],polar[1],polar[2],
                                hasMother ? kPDecay:kPNoProcess,nt);
                      idsOnStack[i] = nt;
@@ -150,6 +157,7 @@ void AliGenEpos::Generate() {
 
          header->SetNProduced(fNprimaries);
          header->SetPrimaryVertex(eventVertex);
+         header->SetInteractionTime(time0);
 
          header->SetImpactParameter(GetTEpos()->GetBimevt());
          header->SetReactionPlaneAngle(GetTEpos()->GetPhievt());