108 TParticlePDG* particlePDG = TDatabasePDG::Instance()->GetParticle(
fPdg);
118 Double_t mass = particlePDG->Mass();
120 Double_t e = mass + kinEnergy;
123 Double_t p0, px, py, pz;
124 p0 = sqrt(e * e - mass * mass);
131 if (
fPdg == 50000050) {
132 TVector3 normal(1., 0., 0.);
134 TVector3 product = normal.Cross(kphoton);
135 Double_t modul2 = product * product;
137 TVector3 e_perpend(0., 0., 1.);
138 if (modul2 > 0.) e_perpend = (1. / sqrt(modul2)) * product;
139 TVector3 e_paralle = e_perpend.Cross(kphoton);
141 polar = TMath::Cos(
fPolAngle * TMath::DegToRad()) * e_paralle +
142 TMath::Sin(
fPolAngle * TMath::DegToRad()) * e_perpend;
149 fStack->PushTrack(toBeDone, -1, pdg, px, py, pz, e, vx, vy, vz, tof,
150 polar.X(), polar.Y(), polar.Z(), kPPrimary, ntr, 1., 0);