Geant4  10.00.p02
G4INCL::ParticleTable Namespace Reference

Typedefs

typedef G4double(* NuclearMassFn )(const G4int, const G4int)
 
typedef G4double(* ParticleMassFn )(const ParticleType)
 
typedef G4double(* SeparationEnergyFn )(const ParticleType, const G4int, const G4int)
 
typedef G4double(* FermiMomentumFn )(const G4int, const G4int)
 

Functions

void initialize (Config const *const theConfig=0)
 Initialize the particle table. More...
 
G4int getIsospin (const ParticleType t)
 Get the isospin of a particle. More...
 
std::string getName (const ParticleType t)
 Get the native INCL name of the particle. More...
 
std::string getShortName (const ParticleType t)
 Get the short INCL name of the particle. More...
 
std::string getName (const ParticleSpecies &s)
 Get the native INCL name of the particle. More...
 
std::string getShortName (const ParticleSpecies &s)
 Get the short INCL name of the particle. More...
 
std::string getName (const G4int A, const G4int Z)
 Get the native INCL name of the ion. More...
 
std::string getShortName (const G4int A, const G4int Z)
 Get the short INCL name of the ion. More...
 
G4double getINCLMass (const G4int A, const G4int Z)
 Get INCL nuclear mass (in MeV/c^2) More...
 
G4double getINCLMass (const ParticleType t)
 Get INCL particle mass (in MeV/c^2) More...
 
G4double getRealMass (const G4INCL::ParticleType t)
 Get particle mass (in MeV/c^2) More...
 
G4double getRealMass (const G4int A, const G4int Z)
 Get nuclear mass (in MeV/c^2) More...
 
G4double getTableQValue (const G4int A1, const G4int Z1, const G4int A2, const G4int Z2)
 Get Q-value (in MeV/c^2) More...
 
G4double getTableQValue (const G4int A1, const G4int Z1, const G4int A2, const G4int Z2, const G4int A3, const G4int Z3)
 Get Q-value (in MeV/c^2) More...
 
G4double getTableSpeciesMass (const ParticleSpecies &p)
 
G4int getMassNumber (const ParticleType t)
 Get mass number from particle type. More...
 
G4int getChargeNumber (const ParticleType t)
 Get charge number from particle type. More...
 
G4double getNuclearRadius (const ParticleType t, const G4int A, const G4int Z)
 
G4double getLargestNuclearRadius (const G4int A, const G4int Z)
 
G4double getRadiusParameter (const ParticleType t, const G4int A, const G4int Z)
 
G4double getMaximumNuclearRadius (const ParticleType t, const G4int A, const G4int Z)
 
G4double getSurfaceDiffuseness (const ParticleType t, const G4int A, const G4int Z)
 
G4double getMomentumRMS (const G4int A, const G4int Z)
 Return the RMS of the momentum distribution (light clusters) More...
 
G4double getSeparationEnergyINCL (const ParticleType t, const G4int, const G4int)
 Return INCL's default separation energy. More...
 
G4double getSeparationEnergyReal (const ParticleType t, const G4int A, const G4int Z)
 Return the real separation energy. More...
 
G4double getSeparationEnergyRealForLight (const ParticleType t, const G4int A, const G4int Z)
 Return the real separation energy only for light nuclei. More...
 
G4double getProtonSeparationEnergy ()
 Getter for protonSeparationEnergy. More...
 
G4double getNeutronSeparationEnergy ()
 Getter for neutronSeparationEnergy. More...
 
void setProtonSeparationEnergy (const G4double s)
 Setter for protonSeparationEnergy. More...
 
void setNeutronSeparationEnergy (const G4double s)
 Setter for protonSeparationEnergy. More...
 
std::string getElementName (const G4int Z)
 Get the name of the element from the atomic number. More...
 
std::string getIUPACElementName (const G4int Z)
 Get the name of an unnamed element from the IUPAC convention. More...
 
G4int parseElement (std::string pS)
 Get the name of the element from the atomic number. More...
 
G4int parseIUPACElement (std::string const &pS)
 Parse a IUPAC element name. More...
 
IsotopicDistribution const & getNaturalIsotopicDistribution (const G4int Z)
 
G4int drawRandomNaturalIsotope (const G4int Z)
 
G4double getFermiMomentumConstant (const G4int, const G4int)
 Return the constant value of the Fermi momentum. More...
 
G4double getFermiMomentumConstantLight (const G4int A, const G4int Z)
 Return the constant value of the Fermi momentum - special for light. More...
 
G4double getFermiMomentumMassDependent (const G4int A, const G4int)
 Return the value Fermi momentum from a fit. More...
 
G4double getRPCorrelationCoefficient (const ParticleType t)
 Get the value of the r-p correlation coefficient. More...
 
G4double getNeutronSkinThickness ()
 Get the value of the neutron skin thickness. More...
 
G4double getNeutronSkinAdditionalDiffuseness ()
 Get the value of the additional neutron skin diffuseness. More...
 

Variables

const G4int maxClusterMass = 12
 
const G4int maxClusterCharge = 8
 
const G4int clusterTableZSize = maxClusterCharge+1
 
const G4int clusterTableASize = maxClusterMass+1
 
const G4double effectiveNucleonMass = 938.2796
 
const G4double effectiveNucleonMass2 = 8.8036860777616e5
 
const G4double effectiveDeltaMass = 1232.0
 
const G4double effectivePionMass = 138.0
 
G4ThreadLocal G4double effectiveDeltaDecayThreshold = 0.
 
G4ThreadLocal NuclearMassFn getTableMass = NULL
 Static pointer to the mass function for nuclei. More...
 
G4ThreadLocal ParticleMassFn getTableParticleMass = NULL
 Static pointer to the mass function for particles. More...
 
G4ThreadLocal SeparationEnergyFn getSeparationEnergy = NULL
 Static pointer to the separation-energy function. More...
 
G4ThreadLocal FermiMomentumFn getFermiMomentum = NULL
 

Typedef Documentation

typedef G4double(* G4INCL::ParticleTable::FermiMomentumFn)(const G4int, const G4int)

Definition at line 213 of file G4INCLParticleTable.hh.

typedef G4double(* G4INCL::ParticleTable::NuclearMassFn)(const G4int, const G4int)

Definition at line 200 of file G4INCLParticleTable.hh.

typedef G4double(* G4INCL::ParticleTable::ParticleMassFn)(const ParticleType)

Definition at line 201 of file G4INCLParticleTable.hh.

typedef G4double(* G4INCL::ParticleTable::SeparationEnergyFn)(const ParticleType, const G4int, const G4int)

Definition at line 208 of file G4INCLParticleTable.hh.

Function Documentation

G4int G4INCL::ParticleTable::drawRandomNaturalIsotope ( const G4int  Z)

Definition at line 776 of file G4INCLParticleTable.cc.

Referenced by G4INCL::INCL::prepareReaction().

+ Here is the caller graph for this function:

G4int G4INCL::ParticleTable::getChargeNumber ( const ParticleType  t)
std::string G4INCL::ParticleTable::getElementName ( const G4int  Z)

Get the name of the element from the atomic number.

Definition at line 727 of file G4INCLParticleTable.cc.

References getIUPACElementName(), and INCL_WARN.

Referenced by getName(), and getShortName().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getFermiMomentumConstant ( const G4int  ,
const G4int   
)

Return the constant value of the Fermi momentum.

This function should always return PhysicalConstants::Pf.

Definition at line 780 of file G4INCLParticleTable.cc.

References G4INCL::PhysicalConstants::Pf.

Referenced by getFermiMomentumConstantLight(), and initialize().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getFermiMomentumConstantLight ( const G4int  A,
const G4int  Z 
)

Return the constant value of the Fermi momentum - special for light.

This function should always return PhysicalConstants::Pf for heavy nuclei, and values from the momentumRMS table for light nuclei.

Parameters
Amass number
Zcharge number

Definition at line 784 of file G4INCLParticleTable.cc.

References A, clusterTableASize, clusterTableZSize, getFermiMomentumConstant(), and G4INCL::Math::sqrtFiveThirds.

Referenced by initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getFermiMomentumMassDependent ( const G4int  A,
const G4int   
)

Return the value Fermi momentum from a fit.

This function returns a fitted Fermi momentum, based on data from Moniz et al., Phys. Rev. Lett. 26 (1971) 445. The fitted functional form is

\[ p_F(A)=\alpha-\beta\cdot e^{(-A\cdot\gamma)} \]

with $\alpha=259.416$ MeV/ $c$, $\beta=152.824$ MeV/ $c$ and $\gamma=9.5157\cdot10^{-2}$.

Parameters
Amass number

Definition at line 793 of file G4INCLParticleTable.cc.

Referenced by initialize().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getINCLMass ( const G4int  A,
const G4int  Z 
)
G4double G4INCL::ParticleTable::getINCLMass ( const ParticleType  t)

Get INCL particle mass (in MeV/c^2)

Definition at line 448 of file G4INCLParticleTable.cc.

References INCL_ERROR, G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, G4INCL::PiZero, and G4INCL::Proton.

G4int G4INCL::ParticleTable::getIsospin ( const ParticleType  t)
std::string G4INCL::ParticleTable::getIUPACElementName ( const G4int  Z)

Get the name of an unnamed element from the IUPAC convention.

Definition at line 737 of file G4INCLParticleTable.cc.

Referenced by getElementName().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getLargestNuclearRadius ( const G4int  A,
const G4int  Z 
)

Definition at line 614 of file G4INCLParticleTable.cc.

References getNuclearRadius(), G4INCL::Math::max(), G4INCL::Neutron, and G4INCL::Proton.

Referenced by G4INCL::CoulombNonRelativistic::getCoulombRadius(), G4INCL::CoulombNone::maxImpactParameter(), G4INCL::CoulombNonRelativistic::maxImpactParameter(), and G4INCL::StandardPropagationModel::shootComposite().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4INCL::ParticleTable::getMassNumber ( const ParticleType  t)
G4double G4INCL::ParticleTable::getMaximumNuclearRadius ( const ParticleType  t,
const G4int  A,
const G4int  Z 
)

Definition at line 650 of file G4INCLParticleTable.cc.

References getNuclearRadius(), getSurfaceDiffuseness(), and INCL_ERROR.

Referenced by G4INCL::NuclearDensityFactory::createRCDFTable(), G4INCL::NuclearDensityFactory::createRPCorrelationTable(), and G4INCL::INCL::initUniverseRadius().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getMomentumRMS ( const G4int  A,
const G4int  Z 
)

Return the RMS of the momentum distribution (light clusters)

Definition at line 683 of file G4INCLParticleTable.cc.

References getFermiMomentum, and G4INCL::Math::sqrtThreeFifths.

Referenced by G4INCL::NuclearDensityFactory::createPCDFTable().

+ Here is the caller graph for this function:

std::string G4INCL::ParticleTable::getName ( const ParticleType  t)

Get the native INCL name of the particle.

Definition at line 398 of file G4INCLParticleTable.cc.

References G4INCL::Composite, G4INCL::DeltaMinus, G4INCL::DeltaPlus, G4INCL::DeltaPlusPlus, G4INCL::DeltaZero, G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, G4INCL::PiZero, and G4INCL::Proton.

Referenced by G4INCL::Particle::dump(), getName(), G4INCL::Cluster::print(), G4INCL::Particle::print(), and G4INCL::Config::summary().

+ Here is the caller graph for this function:

std::string G4INCL::ParticleTable::getName ( const ParticleSpecies &  s)

Get the native INCL name of the particle.

Definition at line 377 of file G4INCLParticleTable.cc.

References G4INCL::Composite, getName(), G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, and G4INCL::ParticleSpecies::theZ.

+ Here is the call graph for this function:

std::string G4INCL::ParticleTable::getName ( const G4int  A,
const G4int  Z 
)

Get the native INCL name of the ion.

Definition at line 384 of file G4INCLParticleTable.cc.

References A, and getElementName().

+ Here is the call graph for this function:

IsotopicDistribution const & G4INCL::ParticleTable::getNaturalIsotopicDistribution ( const G4int  Z)

Definition at line 772 of file G4INCLParticleTable.cc.

Referenced by G4INCL::INCL::initUniverseRadius().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getNeutronSeparationEnergy ( )

Getter for neutronSeparationEnergy.

Definition at line 721 of file G4INCLParticleTable.cc.

G4double G4INCL::ParticleTable::getNeutronSkinAdditionalDiffuseness ( )

Get the value of the additional neutron skin diffuseness.

Definition at line 808 of file G4INCLParticleTable.cc.

G4double G4INCL::ParticleTable::getNeutronSkinThickness ( )

Get the value of the neutron skin thickness.

Definition at line 806 of file G4INCLParticleTable.cc.

G4double G4INCL::ParticleTable::getNuclearRadius ( const ParticleType  t,
const G4int  A,
const G4int  Z 
)

Definition at line 586 of file G4INCLParticleTable.cc.

References A, getRadiusParameter(), getSurfaceDiffuseness(), INCL_DEBUG, and INCL_ERROR.

Referenced by G4INCL::PauliStandard::getBlockingProbability(), getLargestNuclearRadius(), getMaximumNuclearRadius(), G4INCL::NuclearDensity::getTransmissionRadius(), and G4INCL::INCL::initMaxInteractionDistance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getProtonSeparationEnergy ( )

Getter for protonSeparationEnergy.

Definition at line 719 of file G4INCLParticleTable.cc.

G4double G4INCL::ParticleTable::getRadiusParameter ( const ParticleType  t,
const G4int  A,
const G4int  Z 
)

Definition at line 618 of file G4INCLParticleTable.cc.

References A, INCL_DEBUG, INCL_ERROR, and G4INCL::Neutron.

Referenced by G4INCL::NuclearDensityFactory::createRCDFTable(), G4INCL::NuclearDensityFactory::createRPCorrelationTable(), and getNuclearRadius().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getRealMass ( const G4INCL::ParticleType  t)

Get particle mass (in MeV/c^2)

Definition at line 465 of file G4INCLParticleTable.cc.

References INCL_ERROR, G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, G4INCL::PiZero, and G4INCL::Proton.

Referenced by G4INCL::ClusteringModelIntercomparison::findClusterStartingFrom(), getRealMass(), G4INCL::Particle::getRealMass(), and initialize().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getRealMass ( const G4int  A,
const G4int  Z 
)

Get nuclear mass (in MeV/c^2)

Definition at line 487 of file G4INCLParticleTable.cc.

References getRealMass(), MeV, G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, and G4INCL::Proton.

+ Here is the call graph for this function:

G4double G4INCL::ParticleTable::getRPCorrelationCoefficient ( const ParticleType  t)

Get the value of the r-p correlation coefficient.

Parameters
tthe type of the particle (Proton or Neutron)
Returns
the value of the r-p correlation coefficient

Definition at line 801 of file G4INCLParticleTable.cc.

Referenced by G4INCL::ParticleSampler::ParticleSampler().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getSeparationEnergyINCL ( const ParticleType  t,
const G4int  ,
const G4int   
)

Return INCL's default separation energy.

Definition at line 688 of file G4INCLParticleTable.cc.

References INCL_ERROR, G4INCL::Neutron, and G4INCL::Proton.

Referenced by getSeparationEnergyRealForLight(), and initialize().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getSeparationEnergyReal ( const ParticleType  t,
const G4int  A,
const G4int  Z 
)

Return the real separation energy.

Definition at line 699 of file G4INCLParticleTable.cc.

References A, getTableMass, getTableParticleMass, INCL_ERROR, G4INCL::Neutron, and G4INCL::Proton.

Referenced by getSeparationEnergyRealForLight(), and initialize().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getSeparationEnergyRealForLight ( const ParticleType  t,
const G4int  A,
const G4int  Z 
)

Return the real separation energy only for light nuclei.

Definition at line 711 of file G4INCLParticleTable.cc.

References clusterTableASize, clusterTableZSize, getSeparationEnergyINCL(), and getSeparationEnergyReal().

Referenced by initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string G4INCL::ParticleTable::getShortName ( const ParticleType  t)

Get the short INCL name of the particle.

Definition at line 423 of file G4INCLParticleTable.cc.

References G4INCL::Composite, G4INCL::DeltaMinus, G4INCL::DeltaPlus, G4INCL::DeltaPlusPlus, G4INCL::DeltaZero, G4INCL::Neutron, G4INCL::PiMinus, G4INCL::PiPlus, G4INCL::PiZero, and G4INCL::Proton.

Referenced by G4INCL::CoulombNonRelativistic::getCoulombRadius(), and getShortName().

+ Here is the caller graph for this function:

std::string G4INCL::ParticleTable::getShortName ( const ParticleSpecies &  s)

Get the short INCL name of the particle.

Definition at line 370 of file G4INCLParticleTable.cc.

References G4INCL::Composite, getShortName(), G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, and G4INCL::ParticleSpecies::theZ.

+ Here is the call graph for this function:

std::string G4INCL::ParticleTable::getShortName ( const G4int  A,
const G4int  Z 
)

Get the short INCL name of the ion.

Definition at line 390 of file G4INCLParticleTable.cc.

References A, and getElementName().

+ Here is the call graph for this function:

G4double G4INCL::ParticleTable::getSurfaceDiffuseness ( const ParticleType  t,
const G4int  A,
const G4int  Z 
)

Definition at line 664 of file G4INCLParticleTable.cc.

References a, INCL_ERROR, and G4INCL::Neutron.

Referenced by G4INCL::NuclearDensityFactory::createRCDFTable(), G4INCL::NuclearDensityFactory::createRPCorrelationTable(), getMaximumNuclearRadius(), and getNuclearRadius().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getTableQValue ( const G4int  A1,
const G4int  Z1,
const G4int  A2,
const G4int  Z2 
)

Get Q-value (in MeV/c^2)

Uses the getTableMass function to compute the Q-value for the following reaction:

\[ (A_1,Z_1) + (A_2, Z_2) --> (A_1+A_2,Z_1+Z_2) \]

Definition at line 525 of file G4INCLParticleTable.cc.

References getTableMass.

Referenced by G4INCL::Particle::getEmissionQValueCorrection(), and G4INCL::Particle::getTransferQValueCorrection().

+ Here is the caller graph for this function:

G4double G4INCL::ParticleTable::getTableQValue ( const G4int  A1,
const G4int  Z1,
const G4int  A2,
const G4int  Z2,
const G4int  A3,
const G4int  Z3 
)

Get Q-value (in MeV/c^2)

Uses the getTableMass function to compute the Q-value for the following reaction:

\[ (A_1,Z_1) + (A_2, Z_2) --> (A_3,Z_3) + (A1+A2-A3,Z1+Z2-Z3) \]

Definition at line 529 of file G4INCLParticleTable.cc.

References getTableMass.

G4double G4INCL::ParticleTable::getTableSpeciesMass ( const ParticleSpecies &  p)

Definition at line 533 of file G4INCLParticleTable.cc.

References G4INCL::Composite, getTableMass, getTableParticleMass, G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, and G4INCL::ParticleSpecies::theZ.

Referenced by G4INCL::CoulombNonRelativistic::minimumDistance().

+ Here is the caller graph for this function:

void G4INCL::ParticleTable::initialize ( Config const *const  theConfig = 0)
G4int G4INCL::ParticleTable::parseElement ( std::string  pS)

Get the name of the element from the atomic number.

Definition at line 746 of file G4INCLParticleTable.cc.

References parseIUPACElement().

Referenced by G4INCL::ParticleSpecies::parseElement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4INCL::ParticleTable::parseIUPACElement ( std::string const &  pS)

Parse a IUPAC element name.

Note: this function is UGLY. Look at it at your own peril.

Parameters
pSa normalised string (lowercase)
Returns
the charge number of the nuclide, or zero on fail

Definition at line 758 of file G4INCLParticleTable.cc.

Referenced by G4INCL::ParticleSpecies::parseElement(), parseElement(), and G4INCL::ParticleSpecies::parseIUPACElement().

+ Here is the caller graph for this function:

void G4INCL::ParticleTable::setNeutronSeparationEnergy ( const G4double  s)

Setter for protonSeparationEnergy.

Definition at line 725 of file G4INCLParticleTable.cc.

References s.

Referenced by G4INCL::Nucleus::Nucleus().

+ Here is the caller graph for this function:

void G4INCL::ParticleTable::setProtonSeparationEnergy ( const G4double  s)

Setter for protonSeparationEnergy.

Definition at line 723 of file G4INCLParticleTable.cc.

References s.

Referenced by G4INCL::Nucleus::Nucleus().

+ Here is the caller graph for this function:

Variable Documentation

const G4int G4INCL::ParticleTable::clusterTableASize = maxClusterMass+1
const G4int G4INCL::ParticleTable::clusterTableZSize = maxClusterCharge+1
const G4double G4INCL::ParticleTable::effectiveDeltaMass = 1232.0

Definition at line 68 of file G4INCLParticleTable.hh.

const G4double G4INCL::ParticleTable::effectiveNucleonMass2 = 8.8036860777616e5
const G4double G4INCL::ParticleTable::effectivePionMass = 138.0
G4ThreadLocal SeparationEnergyFn G4INCL::ParticleTable::getSeparationEnergy = NULL
const G4int G4INCL::ParticleTable::maxClusterCharge = 8

Definition at line 61 of file G4INCLParticleTable.hh.

const G4int G4INCL::ParticleTable::maxClusterMass = 12