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
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++) {
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);
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++;
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;
header->SetNProduced(fNprimaries);
header->SetPrimaryVertex(eventVertex);
+ header->SetInteractionTime(time0);
header->SetImpactParameter(GetTEpos()->GetBimevt());
header->SetReactionPlaneAngle(GetTEpos()->GetPhievt());