AliDecayers will return particles coordinates,time in cm,sec. Generators
[u/mrichter/AliRoot.git] / PYTHIA6 / AliDecayerPythia.cxx
index bf14fba..7a826fe 100644 (file)
@@ -28,6 +28,7 @@
 #include <TPDGCode.h>
 #include <TLorentzVector.h>
 #include <TClonesArray.h>
+#include <TParticle.h>
 
 ClassImp(AliDecayerPythia)
 
@@ -158,7 +159,16 @@ Int_t AliDecayerPythia::ImportParticles(TClonesArray *particles)
 {
 // Import the decay products
 //
-    return fPythia->ImportParticles(particles, "All");
+  const Float_t kconvT=0.001/2.999792458e8; // mm/c to seconds conversion
+  const Float_t kconvL=1./10; // mm to cm conversion
+  int np = fPythia->ImportParticles(particles, "All");
+  // pythia assigns decay time in mm/c, convert to seconds
+  for (int ip=1;ip<np;ip++) {
+    TParticle* prod = (TParticle*)particles->At(ip);
+    if (!prod) continue;
+    prod->SetProductionVertex(prod->Vx()*kconvL,prod->Vy()*kconvL,prod->Vz()*kconvL,kconvT*prod->T());
+  }
+  return np;
 }