211 if(anE->
GetZ()<88)
return result;
216 if ( ( ( *
theCrossSections )( index ) )->GetVectorLength() == 0 )
return result;
222 theNeutronRP.SetKineticEnergy( eKinetic );
255 while(counter == 0 || std::abs(buffer-result/
std::max(1,counter)) > 0.01*buffer)
257 if(counter) buffer = result/counter;
262 boosted.
Lorentz(theNeutronRP, aThermalNuc);
264 aXsection = (*((*theCrossSections)(
index))).GetValue(theEkin, outOfRange);
267 aXsection *= (targetVelocity-neutronVelocity).mag()/neutronVMag;
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4PhysicsTable * theCrossSections
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
G4ReactionProduct GetThermalNucleus(G4double aMass, G4double temp=-1) const
void SetMomentum(const G4double x, const G4double y, const G4double z)
static const G4double eps
G4double GetKineticEnergy() const
G4ThreeVector GetMomentum() const
static G4Neutron * Neutron()
static const double kelvin
static const G4double factor
G4double GetPDGMass() const
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4ThreeVector GetMomentum() const