55 const std::vector<G4double>& mr)
const
60 std::vector<G4LorentzVector*>*
P =
61 new std::vector<G4LorentzVector*>(
N,
nullptr);
64 for(
size_t k=0;
k<
N; ++
k) { mtot += mr[
k]; }
79 for (
size_t k = N-1;
k>0; --
k)
82 if (
k>1) { T *= BetaKopylov(
k, rndmEngine); }
87 PFragMagCM = PtwoBody(Mass,mr[
k],RestMass);
93 PFragCM.
setE(std::sqrt(PFragMagCM*PFragMagCM + mr[k]*mr[k]));
96 PRestCM.
setE(std::sqrt(PFragMagCM*PFragMagCM + RestMass*RestMass));
100 PFragCM.
boost(BoostV);
103 PRestCM.
boost(BoostV);
125 chi = rndmEngine->
flat();
128 }
while ( Fmax*rndmEngine->
flat() > F);