#include <G4NeutronHPThermalBoost.hh>
Public Member Functions | |
G4double | GetThermalEnergy (const G4HadProjectile &aP, const G4Element *anE, G4double aT) |
G4double | GetThermalEnergy (const G4HadProjectile &aP, G4double theA, G4double theZ, G4double aT) |
Definition at line 39 of file G4NeutronHPThermalBoost.hh.
G4double G4NeutronHPThermalBoost::GetThermalEnergy | ( | const G4HadProjectile & | aP, | |
G4double | theA, | |||
G4double | theZ, | |||
G4double | aT | |||
) | [inline] |
Definition at line 51 of file G4NeutronHPThermalBoost.hh.
References G4HadProjectile::Get4Momentum(), G4Nucleus::GetBiasedThermalNucleus(), G4HadProjectile::GetDefinition(), G4ReactionProduct::GetKineticEnergy(), G4HadProjectile::GetKineticEnergy(), G4ReactionProduct::GetMomentum(), G4NucleiProperties::GetNuclearMass(), G4ParticleDefinition::GetPDGMass(), G4ReactionProduct::Lorentz(), G4Neutron::Neutron(), G4ReactionProduct::SetKineticEnergy(), and G4ReactionProduct::SetMomentum().
00054 { 00055 // prepare neutron 00056 G4double eKinetic = aP.GetKineticEnergy(); 00057 G4ReactionProduct theNeutron( const_cast<G4ParticleDefinition *>(aP.GetDefinition()) ); 00058 theNeutron.SetMomentum( aP.Get4Momentum().vect() ); 00059 theNeutron.SetKineticEnergy( eKinetic ); 00060 G4ThreeVector neuVelo = (1./aP.GetDefinition()->GetPDGMass())*theNeutron.GetMomentum(); 00061 00062 // prepare properly biased thermal nucleus 00063 G4Nucleus aNuc; 00064 G4double eps = 0.0001; 00065 G4double eleMass; 00066 eleMass = ( G4NucleiProperties::GetNuclearMass( static_cast<G4int>(theA+eps) , static_cast<G4int>(theZ+eps) ) ) / G4Neutron::Neutron()->GetPDGMass(); 00067 00068 G4ReactionProduct aThermalNuc = aNuc.GetBiasedThermalNucleus(eleMass, neuVelo, aT); 00069 00070 // boost to rest system and return 00071 G4ReactionProduct boosted; 00072 boosted.Lorentz(theNeutron, aThermalNuc); 00073 return boosted.GetKineticEnergy(); 00074 }
G4double G4NeutronHPThermalBoost::GetThermalEnergy | ( | const G4HadProjectile & | aP, | |
const G4Element * | anE, | |||
G4double | aT | |||
) | [inline] |
Definition at line 42 of file G4NeutronHPThermalBoost.hh.
References G4Element::GetN(), and G4Element::GetZ().
Referenced by G4NeutronHPorLFission::ApplyYourself(), G4NeutronHPorLElastic::ApplyYourself(), G4NeutronHPorLEInelastic::ApplyYourself(), G4NeutronHPorLCapture::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPChannelList::ApplyYourself(), G4NeutronHPChannel::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), and G4FissLib::ApplyYourself().
00045 { 00046 G4double theA = anE->GetN(); 00047 G4double theZ = anE->GetZ(); 00048 return GetThermalEnergy(aP, theA ,theZ, aT); 00049 }