80 throw G4HadronicException(__FILE__, __LINE__,
"G4ParticleHPNBodyPhaseSpace: Unknown ion case 2");
103 throw G4HadronicException(__FILE__, __LINE__,
"NeutronHP Phase-space distribution cannot cope with this number of particles");
110 G4int icounter_max=1024;
114 if ( icounter > icounter_max ) {
115 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
122 while(rand > testit);
131 G4ThreeVector tempVector(mtot*sinth*std::cos(phi), mtot*sinth*std::sin(phi), mtot*std::cos(theta) );
134 result->
Lorentz(*result, -1.*aCMS);
T max(const T t1, const T t2)
brief Return the largest of the two arguments
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
void SetMomentum(const G4double x, const G4double y, const G4double z)
G4double Prob(G4double anEnergy, G4double eMax, G4int n)
static G4Proton * Proton()
static G4Deuteron * Deuteron()
void SetKineticEnergy(const G4double en)
G4ReactionProduct * GetTarget()
static constexpr double twopi
G4double GetTotalMomentum() const
double A(double temperature)
static G4Positron * Positron()
static G4Electron * Electron()
G4double G4ParticleHPJENDLHEData::G4double result
static G4Triton * Triton()
static G4Neutron * Neutron()
G4ReactionProduct * GetProjectileRP()
G4double GetEmax(G4double anEnergy, G4double mass)
G4GLOB_DLL std::ostream G4cout
G4ReactionProduct * Sample(G4double anEnergy, G4double massCode, G4double mass)
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)