G4NeutronHPThermalBoost Class Reference

#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)


Detailed Description

Definition at line 39 of file G4NeutronHPThermalBoost.hh.


Member Function Documentation

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   }


The documentation for this class was generated from the following file:
Generated on Mon May 27 17:52:43 2013 for Geant4 by  doxygen 1.4.7