Geant4  10.00.p02
G4FissionProductYieldDist Class Referenceabstract

G4FissionProductYieldDist is the base class for storing all the fission data and generating fission events. More...

#include <G4FissionProductYieldDist.hh>

+ Inheritance diagram for G4FissionProductYieldDist:
+ Collaboration diagram for G4FissionProductYieldDist:

Public Member Functions

 G4FissionProductYieldDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataStream)
 Default constructor. More...
 
 G4FissionProductYieldDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, G4int Verbosity, std::istringstream &dataStream)
 Overloaded constructor. More...
 
G4DynamicParticleVectorG4GetFission (void)
 Generates a fission event using default sampling and returns the pointer to that fission event. More...
 
G4IonsG4GetFissionProduct (void)
 Selects a fission fragment at random from the probability tree and returns the G4Ions pointer. More...
 
void G4SetAlphaProduction (G4double WhatAlphaProduction)
 Set the alpha production behavior for fission event generation. More...
 
void G4SetEnergy (G4double WhatIncidentEnergy)
 Sets the energy of the incident particle. More...
 
void G4SetTernaryProbability (G4double TernaryProbability)
 Sets the probability of ternary fission. More...
 
void G4SetVerbosity (G4int WhatVerbosity)
 Sets the verbosity levels. More...
 
virtual ~G4FissionProductYieldDist (void)
 Default deconstructor. More...
 

Protected Member Functions

void CheckAlphaSanity (void)
 Checks to make sure that alpha overpopulation will not occur, which could result in an unsolvable zero momentum in the LAB system. More...
 
G4IonsFindParticle (G4double RandomParticle)
 Returns the G4Ions definitions pointer for the particle whose probability segment contains the (0, 1] random number RandomParticle. More...
 
G4IonsFindParticleExtrapolation (G4double RandomParticle, G4bool LowerEnergyGroupExists)
 Returns the G4Ions definitions pointer for the particle whose probability segment contains the (0, 1] random number RandomParticle by extrapolating values using the current data set. More...
 
G4IonsFindParticleInterpolation (G4double RandomParticle, G4int LowerEnergyGroup)
 Returns the G4Ions definitions pointer for the particle whose probability segment contains the (0, 1] random number RandomParticle by interpolating values in the current data set. More...
 
G4IonsFindParticleBranchSearch (ProbabilityBranch *Branch, G4double RandomParticle, G4int EnergyGroup1, G4int EnergyGroup2)
 Returns the G4Ions definitions pointer for the particle whose probability segment contains the (0, 1] random number RandomParticle by searching through a branch. More...
 
virtual void GenerateAlphas (std::vector< G4ReactionProduct * > *Alphas)
 Generates a G4DynamicParticleVector with the fission alphas. More...
 
virtual void GenerateNeutrons (std::vector< G4ReactionProduct * > *Neutrons)
 Generate a linked chain of neutrons and return the pointer to the last neutron in the chain. More...
 
virtual G4IonsGetFissionProduct (void)=0
 Selects a fission product from the probability tree, limited by the number of nucleons available to the system. More...
 
G4IonsGetParticleDefinition (G4int Product, G4FFGEnumerations::MetaState MetaState)
 Returns the G4Ions definition pointer to the isotope defined by Product and MetaState. More...
 
G4String MakeDirectoryName (void)
 Generates the directory location for the data file referenced by G4FissionProductYieldDist. More...
 
G4String MakeFileName (G4int Isotope, G4FFGEnumerations::MetaState MetaState)
 Generates the appropriate file name for the isotope requested. More...
 
G4DynamicParticleMakeG4DynamicParticle (G4ReactionProduct *)
 Creates a G4DynamicParticle from an existing G4ReactionProduct. More...
 
G4String MakeIsotopeName (G4int Isotope, G4FFGEnumerations::MetaState MetaState)
 Generates the unique name for an isotope/isomer defined by Isotope\ and MetaState in the following format: ZZZ_AAAmX_NAME. More...
 
virtual void MakeTrees (void)
 Dynamically allocates and initializes the 'field' of 'trees' with the 'trunks'. More...
 
virtual void ReadProbabilities (void)
 Reads in the probability data from the data file. More...
 
void Renormalize (ProbabilityBranch *Branch)
 Renormalizes the data in a ProbabilityTree. More...
 
void SampleAlphaEnergies (std::vector< G4ReactionProduct * > *Alphas)
 Sample the energy of the alpha particles. More...
 
void SampleGammaEnergies (std::vector< G4ReactionProduct * > *Gammas)
 Samples the energy of the gamma rays. More...
 
void SampleNeutronEnergies (std::vector< G4ReactionProduct * > *Neutrons)
 Sample the energy of the neutrons using the Watt fission spectrum. More...
 
void SetNubar (void)
 Sets the nubar values for the isotope referenced by G4FissionProductYieldDistdefined from the data sets defined in SpecialOps.hh. More...
 
virtual void SortProbability (G4ENDFYieldDataContainer *YieldData)
 Sorts information for a potential new particle into the correct tree. More...
 
void BurnTree (ProbabilityBranch *Branch)
 Recursively burns each branch in a probability tree. More...
 

Protected Attributes

const G4int Isotope_
 Number in ZZZAAA format of the isotope that G4FissionProductYieldDist references. More...
 
const G4FFGEnumerations::MetaState MetaState_
 MetaState information of the isotope that G4FissionProductYieldDist references
Possible values are GROUND_STATE, META_1, or META_2. More...
 
const
G4FFGEnumerations::FissionCause 
Cause_
 The cause of fission: SPONTANEOUS or N_INDUCED. More...
 
const G4FFGEnumerations::YieldType YieldType_
 The type of yield to be used: INDEPENDET or CUMULATIVE. More...
 
G4ENDFTapeReadENDFData_
 Name of the fission yield product data file that G4FissionProductYieldDist references. More...
 
G4IonsAlphaDefinition_
 Contains the G4Ions pointer to an alpha particle. More...
 
G4double AlphaProduction_
 Controls whether alpha particles are emitted, and how many. More...
 
G4double TernaryProbability_
 Sets the ternary fission probability. More...
 
G4IonsGammaDefinition_
 Contains the g4ParticleDefinition pointer to a gamma particle. More...
 
G4double IncidentEnergy_
 Kinetic energy, if any, of the incident particle in GeV. More...
 
G4double MeanGammaEnergy_
 Sets the mean gamma energy, in MeV, produced by the fission of the isotope described by Isotope_. More...
 
G4IonsNeutronDefinition_
 Contains the G4ParticleDefinition pointer to a neutron, cast as a G4Ion for compatibility. More...
 
G4double Nubar_
 Nubar for the isotope and incident neutron energy that G4FissionProductYieldDist references. More...
 
G4double NubarWidth_
 Width of the gaussian distribution that samples nubar for the isotope and incident neutron energy that G4FissionProductYieldDist references. More...
 
G4int RemainingZ_
 Counter for the number of protons available to the fission event. More...
 
G4int RemainingA_
 Counter for the number of nucleons available to the fission event. More...
 
G4double RemainingEnergy_
 Container for the energy remaining to be assigned in the fission generation. More...
 
G4int Verbosity_
 Verbosity level. More...
 
ProbabilityTreeTrees_
 An array, or 'field', of the probability trees. More...
 
G4IonsSmallestZ_
 Defines the smallest Z particle in the field of trees. More...
 
G4IonsSmallestA_
 Defines the smallest A particle in the field of trees. More...
 
G4IonsLargestZ_
 Defines the largest Z particle in the field of trees. More...
 
G4IonsLargestA_
 Defines the largest Z particle in the field of trees. More...
 
G4int YieldEnergyGroups_
 Number of specific energy groups. More...
 
G4doubleYieldEnergies_
 Energy values of each energy. More...
 
G4doubleMaintainNormalizedData_
 Variable for ensuring that the input data is normalized. More...
 
G4doubleDataTotal_
 A running total of all the probabilities. More...
 
G4int TreeCount_
 The number of trees in the field. More...
 
G4int BranchCount_
 A run-time counter for the total number of branches stored. More...
 
G4IonTableIonTable_
 Pointer to G4IonTable
All G4Ions are created using G4IonTable. More...
 
G4NeutronHPNamesElementNames_
 Pointer to G4NeutronHPNames
Provides access to the list of element names included in Geant4. More...
 
G4FPYSamplingOpsRandomEngine_
 Pointer to the CLHEP library random engine. More...
 

Private Member Functions

void Initialize (std::istringstream &dataStream)
 Initialize is a common function called by all constructors. More...
 

Detailed Description

G4FissionProductYieldDist is the base class for storing all the fission data and generating fission events.

Definition at line 53 of file G4FissionProductYieldDist.hh.

Constructor & Destructor Documentation

G4FissionProductYieldDist::G4FissionProductYieldDist ( G4int  WhichIsotope,
G4FFGEnumerations::MetaState  WhichMetaState,
G4FFGEnumerations::FissionCause  WhichCause,
G4FFGEnumerations::YieldType  WhichYieldType,
std::istringstream &  dataStream 
)

Default constructor.

  • Usage:
    • WhichIsotope: Isotope number of the element in ZZZAAA form
    • WhichMetaState: GROUND_STATE, META_1, or META_2
    • WhichCause: SPONTANEOUS or N_INDUCED
    • WhichYieldType: INDEPENDENT or CUMULATIVE
  • Notes:

Definition at line 81 of file G4FissionProductYieldDist.cc.

References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and Initialize().

+ Here is the call graph for this function:

G4FissionProductYieldDist::G4FissionProductYieldDist ( G4int  WhichIsotope,
G4FFGEnumerations::MetaState  WhichMetaState,
G4FFGEnumerations::FissionCause  WhichCause,
G4FFGEnumerations::YieldType  WhichYieldType,
G4int  Verbosity,
std::istringstream &  dataStream 
)

Overloaded constructor.

  • Usage:
    • WhichIsotope: Isotope number of the element in ZZZAAA form
    • WhichMetaState: GROUND_STATE, META_1, or META_2
    • WhichCause: SPONTANEOUS or N_INDUCED
    • WhichYieldType: INDEPENDENT or CUMULATIVE
    • Verbosity: Verbosity level
  • Notes:

Definition at line 108 of file G4FissionProductYieldDist.cc.

References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and Initialize().

+ Here is the call graph for this function:

G4FissionProductYieldDist::~G4FissionProductYieldDist ( void  )
virtual

Default deconstructor.

It is a virtual function since G4FissionProductYieldDist is a parent class

Definition at line 1475 of file G4FissionProductYieldDist.cc.

References BurnTree(), DataTotal_, ElementNames_, ENDFData_, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, MaintainNormalizedData_, ProbabilityTree::ProbabilityRangeEnd, RandomEngine_, Trees_, TRUE, and ProbabilityTree::Trunk.

+ Here is the call graph for this function:

Member Function Documentation

void G4FissionProductYieldDist::BurnTree ( ProbabilityBranch Branch)
protected

Recursively burns each branch in a probability tree.

Definition at line 1501 of file G4FissionProductYieldDist.cc.

References G4FFG_RECURSIVE_FUNCTIONENTER__, G4FFG_RECURSIVE_FUNCTIONLEAVE__, ProbabilityBranch::IncidentEnergies, ProbabilityBranch::Left, ProbabilityBranch::ProbabilityRangeBottom, ProbabilityBranch::ProbabilityRangeTop, and ProbabilityBranch::Right.

Referenced by ~G4FissionProductYieldDist().

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::CheckAlphaSanity ( void  )
protected

Checks to make sure that alpha overpopulation will not occur, which could result in an unsolvable zero momentum in the LAB system.

Definition at line 660 of file G4FissionProductYieldDist.cc.

References AlphaProduction_, G4FFG_FUNCTIONENTER__, and G4FFG_FUNCTIONLEAVE__.

Referenced by G4GetFission().

+ Here is the caller graph for this function:

G4Ions * G4FissionProductYieldDist::FindParticle ( G4double  RandomParticle)
protected

Returns the G4Ions definitions pointer for the particle whose probability segment contains the (0, 1] random number RandomParticle.

Definition at line 677 of file G4FissionProductYieldDist.cc.

References FindParticleExtrapolation(), FindParticleInterpolation(), G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, IncidentEnergy_, ProbabilityBranch::Left, ProbabilityBranch::Particle, ProbabilityBranch::ProbabilityRangeTop, ProbabilityBranch::Right, TreeCount_, Trees_, ProbabilityTree::Trunk, YieldEnergies_, and YieldEnergyGroups_.

Referenced by G4GetFissionProduct(), G4FPYNormalFragmentDist::GetFissionProduct(), and G4FPYBiasedLightFragmentDist::GetFissionProduct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Ions * G4FissionProductYieldDist::FindParticleBranchSearch ( ProbabilityBranch Branch,
G4double  RandomParticle,
G4int  EnergyGroup1,
G4int  EnergyGroup2 
)
protected

Returns the G4Ions definitions pointer for the particle whose probability segment contains the (0, 1] random number RandomParticle by searching through a branch.

Both the extrapolation and interpolation schemes currently use this function to identify the particle.

Definition at line 819 of file G4FissionProductYieldDist.cc.

References G4FFG_RECURSIVE_FUNCTIONENTER__, G4FFG_RECURSIVE_FUNCTIONLEAVE__, ProbabilityBranch::IncidentEnergies, ProbabilityBranch::IncidentEnergiesCount, IncidentEnergy_, ProbabilityBranch::Left, ProbabilityBranch::Particle, ProbabilityBranch::ProbabilityRangeBottom, ProbabilityBranch::ProbabilityRangeTop, and ProbabilityBranch::Right.

Referenced by FindParticleExtrapolation(), and FindParticleInterpolation().

+ Here is the caller graph for this function:

G4Ions * G4FissionProductYieldDist::FindParticleExtrapolation ( G4double  RandomParticle,
G4bool  LowerEnergyGroupExists 
)
protected

Returns the G4Ions definitions pointer for the particle whose probability segment contains the (0, 1] random number RandomParticle by extrapolating values using the current data set.

This function exists so that that different models of extrapolation may be more easily implemented in the future.

Definition at line 765 of file G4FissionProductYieldDist.cc.

References FindParticleBranchSearch(), G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, TreeCount_, Trees_, and YieldEnergyGroups_.

Referenced by FindParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Ions * G4FissionProductYieldDist::FindParticleInterpolation ( G4double  RandomParticle,
G4int  LowerEnergyGroup 
)
protected

Returns the G4Ions definitions pointer for the particle whose probability segment contains the (0, 1] random number RandomParticle by interpolating values in the current data set.

This function exists so that that different models of interpolation may be more easily implemented in the future.

Definition at line 798 of file G4FissionProductYieldDist.cc.

References FindParticleBranchSearch(), G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, TreeCount_, and Trees_.

Referenced by FindParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4DynamicParticleVector * G4FissionProductYieldDist::G4GetFission ( void  )

Generates a fission event using default sampling and returns the pointer to that fission event.

  • Usage: No arguments required
  • Notes:
    • The fission products are loaded into FissionContainer in the following order:
      • First daughter product
      • Second daughter product
      • Alpha particles
      • Neutrons
      • Gamma rays
    • The last particle will have a NULL NextFragment pointer

Definition at line 190 of file G4FissionProductYieldDist.cc.

References Cause_, CheckAlphaSanity(), G4FFGEnumerations::DAUGHTER_INFO, G4ArrayOps::DeleteVectorOfPointers(), G4cout, G4endl, G4Exception(), G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FPYSamplingOps::G4SampleGaussian(), G4FPYSamplingOps::G4SampleUniform(), G4FFGEnumerations::GAMMA_INDUCED, GenerateAlphas(), GenerateNeutrons(), G4ParticleDefinition::GetAtomicMass(), G4ParticleDefinition::GetAtomicNumber(), G4ReactionProduct::GetDefinition(), GetFissionProduct(), GetParticleDefinition(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGEncoding(), G4ParticleDefinition::GetPDGMass(), G4FFGEnumerations::GROUND_STATE, IncidentEnergy_, Isotope_, JustWarning, keV, MakeG4DynamicParticle(), MeV, G4FFGEnumerations::MOMENTUM_INFO, G4FFGEnumerations::NEUTRON_INDUCED, G4INCL::Math::pi, G4FFGEnumerations::PROTON_INDUCED, RandomEngine_, RemainingA_, RemainingEnergy_, RemainingZ_, SampleAlphaEnergies(), SampleGammaEnergies(), SampleNeutronEnergies(), G4ReactionProduct::SetMomentum(), G4FFGEnumerations::SPONTANEOUS, and Verbosity_.

Referenced by G4FissionFragmentGenerator::G4GenerateFission().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Ions * G4FissionProductYieldDist::G4GetFissionProduct ( void  )

Selects a fission fragment at random from the probability tree and returns the G4Ions pointer.

  • Usage: No arguments required
  • Notes:

Definition at line 600 of file G4FissionProductYieldDist.cc.

References FindParticle(), G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FPYSamplingOps::G4SampleUniform(), and RandomEngine_.

Referenced by G4FissionFragmentGenerator::G4GenerateFissionProduct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::G4SetAlphaProduction ( G4double  WhatAlphaProduction)

Set the alpha production behavior for fission event generation.

  • Usage:
    • if AlphaProduction is negative then alpha particles are sampled randomly.
  • Notes:
    • The maximum number of alpha particles that may be created is physically limited by the nucleons present in the parent nucleus. Setting the AlphaProduction too high will have unpredictable results on the sampling of the fission products.

Definition at line 611 of file G4FissionProductYieldDist.cc.

References AlphaProduction_, G4FFG_FUNCTIONENTER__, and G4FFG_FUNCTIONLEAVE__.

Referenced by G4FissionFragmentGenerator::G4SetAlphaProduction(), and G4FissionFragmentGenerator::InitializeFissionProductYieldClass().

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::G4SetEnergy ( G4double  WhatIncidentEnergy)

Sets the energy of the incident particle.

  • Usage:
    • WhatIncidentEnergy: Kinetic energy, if any, of the incident neutron in GeV
  • Notes:

Definition at line 621 of file G4FissionProductYieldDist.cc.

References Cause_, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, GeV, IncidentEnergy_, and G4FFGEnumerations::SPONTANEOUS.

Referenced by G4FissionFragmentGenerator::G4SetIncidentEnergy().

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::G4SetTernaryProbability ( G4double  TernaryProbability)

Sets the probability of ternary fission.

  • Usage:
    • WhatTernaryProbability: Probability of generating a ternary fission event.
  • Notes:

Definition at line 637 of file G4FissionProductYieldDist.cc.

References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and TernaryProbability_.

Referenced by G4FissionFragmentGenerator::G4SetTernaryProbability(), and G4FissionFragmentGenerator::InitializeFissionProductYieldClass().

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::G4SetVerbosity ( G4int  WhatVerbosity)

Sets the verbosity levels.

  • Usage:
    • WhichVerbosity: Combination of levels
  • Notes:
    • SILENT: All verbose output is repressed
    • UPDATES: Only high-level internal changes are reported
    • DAUGHTER_INFO: Displays information about daughter product sampling
    • NEUTRON_INFO: Displays information about neutron sampling
    • GAMMA_INFO: Displays information about gamma sampling
    • ALPHA_INFO: Displays information about alpha sampling
    • MOMENTUM_INFO: Displays information about momentum balancing
    • EXTRAPOLATION_INTERPOLATION_INFO: Displays information about any data extrapolation or interpolation that occurs
    • DEBUG: Reports program flow as it steps through functions
    • PRINT_ALL: Displays any and all output

Definition at line 647 of file G4FissionProductYieldDist.cc.

References ENDFData_, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4ENDFTapeRead::G4SetVerbosity(), G4FPYSamplingOps::G4SetVerbosity(), RandomEngine_, and Verbosity_.

Referenced by G4FissionFragmentGenerator::G4SetVerbosity().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::GenerateAlphas ( std::vector< G4ReactionProduct * > *  Alphas)
protectedvirtual

Generates a G4DynamicParticleVector with the fission alphas.

Definition at line 889 of file G4FissionProductYieldDist.cc.

References AlphaDefinition_, AlphaProduction_, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FPYSamplingOps::G4SampleIntegerGaussian(), G4FPYSamplingOps::G4SampleUniform(), G4FFGEnumerations::POSITIVE, RandomEngine_, RemainingA_, RemainingZ_, and TernaryProbability_.

Referenced by G4GetFission().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::GenerateNeutrons ( std::vector< G4ReactionProduct * > *  Neutrons)
protectedvirtual

Generate a linked chain of neutrons and return the pointer to the last neutron in the chain.

Definition at line 927 of file G4FissionProductYieldDist.cc.

References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FPYSamplingOps::G4SampleIntegerGaussian(), NeutronDefinition_, Nubar_, NubarWidth_, G4FFGEnumerations::POSITIVE, RandomEngine_, and RemainingA_.

Referenced by G4GetFission().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual G4Ions* G4FissionProductYieldDist::GetFissionProduct ( void  )
protectedpure virtual

Selects a fission product from the probability tree, limited by the number of nucleons available to the system.

Implemented in G4FPYBiasedLightFragmentDist, and G4FPYNormalFragmentDist.

Referenced by G4GetFission().

+ Here is the caller graph for this function:

G4Ions * G4FissionProductYieldDist::GetParticleDefinition ( G4int  Product,
G4FFGEnumerations::MetaState  MetaState 
)
protected

Returns the G4Ions definition pointer to the isotope defined by Product and MetaState.

Searches the ParticleTable for the particle defined by Product (ZZZAAA) and MetaState and returns the G4Ions pointer to that particle. If the particle does not exist then it is created in G4ParticleTable and the pointer to the new particle is returned.

Definition at line 949 of file G4FissionProductYieldDist.cc.

References A, G4FFG_DATA_FUNCTIONENTER__, G4FFG_DATA_FUNCTIONLEAVE__, G4IonTable::GetIon(), and IonTable_.

Referenced by G4GetFission(), and SortProbability().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::Initialize ( std::istringstream &  dataStream)
private

Initialize is a common function called by all constructors.

Definition at line 136 of file G4FissionProductYieldDist.cc.

References AlphaDefinition_, AlphaProduction_, Cause_, G4ArrayOps::Copy(), DataTotal_, G4Neutron::Definition(), G4Alpha::Definition(), G4Gamma::Definition(), ElementNames_, ENDFData_, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4ENDFTapeRead::G4GetEnergyGroupValues(), G4ENDFTapeRead::G4GetNumberOfEnergyGroups(), GammaDefinition_, G4IonTable::GetIonTable(), IncidentEnergy_, IonTable_, LargestA_, LargestZ_, MaintainNormalizedData_, MakeTrees(), NeutronDefinition_, RandomEngine_, ReadProbabilities(), SetNubar(), SmallestA_, SmallestZ_, TernaryProbability_, Verbosity_, YieldEnergies_, YieldEnergyGroups_, and YieldType_.

Referenced by G4FissionProductYieldDist().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String G4FissionProductYieldDist::MakeDirectoryName ( void  )
protected

Generates the directory location for the data file referenced by G4FissionProductYieldDist.

Definition at line 1027 of file G4FissionProductYieldDist.cc.

References G4FFGDefaultValues::ENDFFissionDataLocation, G4FFG_FUNCTIONENTER__, and G4FFG_FUNCTIONLEAVE__.

G4String G4FissionProductYieldDist::MakeFileName ( G4int  Isotope,
G4FFGEnumerations::MetaState  MetaState 
)
protected

Generates the appropriate file name for the isotope requested.

Definition at line 1041 of file G4FissionProductYieldDist.cc.

References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and MakeIsotopeName().

+ Here is the call graph for this function:

G4DynamicParticle * G4FissionProductYieldDist::MakeG4DynamicParticle ( G4ReactionProduct ReactionProduct)
protected

Creates a G4DynamicParticle from an existing G4ReactionProduct.

Definition at line 1064 of file G4FissionProductYieldDist.cc.

References G4FFG_DATA_FUNCTIONENTER__, G4FFG_DATA_FUNCTIONLEAVE__, G4ReactionProduct::GetDefinition(), and G4ReactionProduct::GetMomentum().

Referenced by G4GetFission().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String G4FissionProductYieldDist::MakeIsotopeName ( G4int  Isotope,
G4FFGEnumerations::MetaState  MetaState 
)
protected

Generates the unique name for an isotope/isomer defined by Isotope\ and MetaState in the following format: ZZZ_AAAmX_NAME.

Definition at line 1075 of file G4FissionProductYieldDist.cc.

References A, ElementNames_, G4FFG_DATA_FUNCTIONENTER__, G4FFG_DATA_FUNCTIONLEAVE__, G4FFGEnumerations::GROUND_STATE, G4FFGEnumerations::META_2, and G4NeutronHPNames::theString.

Referenced by MakeFileName().

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::MakeTrees ( void  )
protectedvirtual

Dynamically allocates and initializes the 'field' of 'trees' with the 'trunks'.

Definition at line 1108 of file G4FissionProductYieldDist.cc.

References ProbabilityTree::BranchCount, ENDFData_, FALSE, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4ENDFTapeRead::G4GetNumberOfFissionProducts(), ProbabilityTree::IsEnd, ProbabilityTree::ProbabilityRangeEnd, TreeCount_, Trees_, TRUE, ProbabilityTree::Trunk, and YieldEnergyGroups_.

Referenced by Initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::ReadProbabilities ( void  )
protectedvirtual

Reads in the probability data from the data file.

Definition at line 1144 of file G4FissionProductYieldDist.cc.

References BranchCount_, G4ArrayOps::Copy(), DataTotal_, G4ArrayOps::Divide(), ENDFData_, G4FFG_DATA_FUNCTIONENTER__, G4FFG_DATA_FUNCTIONLEAVE__, G4ENDFTapeRead::G4GetNumberOfFissionProducts(), G4ENDFTapeRead::G4GetYield(), MaintainNormalizedData_, Renormalize(), G4ArrayOps::Set(), SortProbability(), TreeCount_, Trees_, and YieldEnergyGroups_.

Referenced by Initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::Renormalize ( ProbabilityBranch Branch)
protected

Renormalizes the data in a ProbabilityTree.

Traverses the tree structure and renormalizes all the probability data into probability segments, ensuring that no segment overlaps the other.

Definition at line 1177 of file G4FissionProductYieldDist.cc.

References G4ArrayOps::Add(), G4ArrayOps::Copy(), DataTotal_, G4FFG_RECURSIVE_FUNCTIONENTER__, G4FFG_RECURSIVE_FUNCTIONLEAVE__, ProbabilityBranch::Left, MaintainNormalizedData_, G4ArrayOps::Multiply(), ProbabilityBranch::ProbabilityRangeBottom, ProbabilityBranch::ProbabilityRangeTop, ProbabilityBranch::Right, and YieldEnergyGroups_.

Referenced by ReadProbabilities().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::SampleAlphaEnergies ( std::vector< G4ReactionProduct * > *  Alphas)
protected

Sample the energy of the alpha particles.

The energy used by the alpha particles is subtracted from the available energy

Definition at line 1203 of file G4FissionProductYieldDist.cc.

References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FPYSamplingOps::G4SampleGaussian(), MeV, G4FFGEnumerations::POSITIVE, RandomEngine_, and RemainingEnergy_.

Referenced by G4GetFission().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::SampleGammaEnergies ( std::vector< G4ReactionProduct * > *  Gammas)
protected

Samples the energy of the gamma rays.

Definition at line 1243 of file G4FissionProductYieldDist.cc.

References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, GammaDefinition_, keV, G4FFGDefaultValues::MeanGammaEnergy, MeV, G4FFGEnumerations::POSITIVE, RandomEngine_, and RemainingEnergy_.

Referenced by G4GetFission().

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::SampleNeutronEnergies ( std::vector< G4ReactionProduct * > *  Neutrons)
protected

Sample the energy of the neutrons using the Watt fission spectrum.

The kinetic energy consumed is returned.

Definition at line 1305 of file G4FissionProductYieldDist.cc.

References Cause_, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FPYSamplingOps::G4SampleWatt(), IncidentEnergy_, Isotope_, RandomEngine_, and RemainingEnergy_.

Referenced by G4GetFission().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::SetNubar ( void  )
protected

Sets the nubar values for the isotope referenced by G4FissionProductYieldDistdefined from the data sets defined in SpecialOps.hh.

Definition at line 1341 of file G4FissionProductYieldDist.cc.

References Cause_, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, IncidentEnergy_, Isotope_, NeutronInducedNubar_, NeutronInducedNubarWidth_, Nubar_, NubarWidth_, G4FFGEnumerations::SPONTANEOUS, SpontaneousNubar_, and SpontaneousNubarWidth_.

Referenced by Initialize().

+ Here is the caller graph for this function:

void G4FissionProductYieldDist::SortProbability ( G4ENDFYieldDataContainer YieldData)
protectedvirtual

Sorts information for a potential new particle into the correct tree.

Definition at line 1392 of file G4FissionProductYieldDist.cc.

References G4ArrayOps::Add(), ProbabilityTree::BranchCount, BranchCount_, G4ArrayOps::Copy(), DataTotal_, G4FFG_DATA_FUNCTIONENTER__, G4FFG_DATA_FUNCTIONLEAVE__, G4ParticleDefinition::GetAtomicMass(), G4ParticleDefinition::GetAtomicNumber(), G4ENDFYieldDataContainer::GetMetaState(), GetParticleDefinition(), G4ENDFYieldDataContainer::GetProduct(), G4ENDFYieldDataContainer::GetYieldProbability(), ProbabilityBranch::IncidentEnergiesCount, LargestA_, LargestZ_, SmallestA_, SmallestZ_, TreeCount_, Trees_, ProbabilityTree::Trunk, YieldEnergies_, and YieldEnergyGroups_.

Referenced by ReadProbabilities().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4Ions* G4FissionProductYieldDist::AlphaDefinition_
protected

Contains the G4Ions pointer to an alpha particle.

Definition at line 186 of file G4FissionProductYieldDist.hh.

Referenced by GenerateAlphas(), and Initialize().

G4double G4FissionProductYieldDist::AlphaProduction_
protected

Controls whether alpha particles are emitted, and how many.

Definition at line 188 of file G4FissionProductYieldDist.hh.

Referenced by CheckAlphaSanity(), G4SetAlphaProduction(), GenerateAlphas(), and Initialize().

G4int G4FissionProductYieldDist::BranchCount_
protected

A run-time counter for the total number of branches stored.

Definition at line 242 of file G4FissionProductYieldDist.hh.

Referenced by ReadProbabilities(), and SortProbability().

const G4FFGEnumerations::FissionCause G4FissionProductYieldDist::Cause_
protected

The cause of fission: SPONTANEOUS or N_INDUCED.

Definition at line 174 of file G4FissionProductYieldDist.hh.

Referenced by G4GetFission(), G4SetEnergy(), Initialize(), SampleNeutronEnergies(), and SetNubar().

G4double* G4FissionProductYieldDist::DataTotal_
protected

A running total of all the probabilities.

Definition at line 238 of file G4FissionProductYieldDist.hh.

Referenced by Initialize(), ReadProbabilities(), Renormalize(), SortProbability(), and ~G4FissionProductYieldDist().

G4NeutronHPNames* G4FissionProductYieldDist::ElementNames_
protected

Pointer to G4NeutronHPNames
Provides access to the list of element names included in Geant4.

Definition at line 254 of file G4FissionProductYieldDist.hh.

Referenced by Initialize(), MakeIsotopeName(), and ~G4FissionProductYieldDist().

G4ENDFTapeRead* G4FissionProductYieldDist::ENDFData_
protected

Name of the fission yield product data file that G4FissionProductYieldDist references.

Definition at line 182 of file G4FissionProductYieldDist.hh.

Referenced by G4SetVerbosity(), Initialize(), MakeTrees(), ReadProbabilities(), and ~G4FissionProductYieldDist().

G4Ions* G4FissionProductYieldDist::GammaDefinition_
protected

Contains the g4ParticleDefinition pointer to a gamma particle.

Definition at line 192 of file G4FissionProductYieldDist.hh.

Referenced by Initialize(), and SampleGammaEnergies().

G4double G4FissionProductYieldDist::IncidentEnergy_
protected

Kinetic energy, if any, of the incident particle in GeV.

Definition at line 194 of file G4FissionProductYieldDist.hh.

Referenced by FindParticle(), FindParticleBranchSearch(), G4GetFission(), G4SetEnergy(), Initialize(), SampleNeutronEnergies(), and SetNubar().

G4IonTable* G4FissionProductYieldDist::IonTable_
protected

Pointer to G4IonTable
All G4Ions are created using G4IonTable.

Definition at line 250 of file G4FissionProductYieldDist.hh.

Referenced by GetParticleDefinition(), and Initialize().

const G4int G4FissionProductYieldDist::Isotope_
protected

Number in ZZZAAA format of the isotope that G4FissionProductYieldDist references.

Definition at line 167 of file G4FissionProductYieldDist.hh.

Referenced by G4GetFission(), G4FPYBiasedLightFragmentDist::Initialize(), SampleNeutronEnergies(), and SetNubar().

G4Ions* G4FissionProductYieldDist::LargestA_
protected

Defines the largest Z particle in the field of trees.

Definition at line 230 of file G4FissionProductYieldDist.hh.

Referenced by Initialize(), and SortProbability().

G4Ions* G4FissionProductYieldDist::LargestZ_
protected

Defines the largest Z particle in the field of trees.

Definition at line 228 of file G4FissionProductYieldDist.hh.

Referenced by Initialize(), and SortProbability().

G4double* G4FissionProductYieldDist::MaintainNormalizedData_
protected

Variable for ensuring that the input data is normalized.

Definition at line 236 of file G4FissionProductYieldDist.hh.

Referenced by Initialize(), ReadProbabilities(), Renormalize(), and ~G4FissionProductYieldDist().

G4double G4FissionProductYieldDist::MeanGammaEnergy_
protected

Sets the mean gamma energy, in MeV, produced by the fission of the isotope described by Isotope_.

Definition at line 198 of file G4FissionProductYieldDist.hh.

const G4FFGEnumerations::MetaState G4FissionProductYieldDist::MetaState_
protected

MetaState information of the isotope that G4FissionProductYieldDist references
Possible values are GROUND_STATE, META_1, or META_2.

Definition at line 172 of file G4FissionProductYieldDist.hh.

G4Ions* G4FissionProductYieldDist::NeutronDefinition_
protected

Contains the G4ParticleDefinition pointer to a neutron, cast as a G4Ion for compatibility.

Definition at line 201 of file G4FissionProductYieldDist.hh.

Referenced by GenerateNeutrons(), and Initialize().

G4double G4FissionProductYieldDist::Nubar_
protected

Nubar for the isotope and incident neutron energy that G4FissionProductYieldDist references.

Definition at line 205 of file G4FissionProductYieldDist.hh.

Referenced by GenerateNeutrons(), and SetNubar().

G4double G4FissionProductYieldDist::NubarWidth_
protected

Width of the gaussian distribution that samples nubar for the isotope and incident neutron energy that G4FissionProductYieldDist references.

Definition at line 210 of file G4FissionProductYieldDist.hh.

Referenced by GenerateNeutrons(), and SetNubar().

G4int G4FissionProductYieldDist::RemainingA_
protected

Counter for the number of nucleons available to the fission event.

Definition at line 214 of file G4FissionProductYieldDist.hh.

Referenced by G4GetFission(), GenerateAlphas(), GenerateNeutrons(), G4FPYNormalFragmentDist::GetFissionProduct(), and G4FPYBiasedLightFragmentDist::GetFissionProduct().

G4double G4FissionProductYieldDist::RemainingEnergy_
protected

Container for the energy remaining to be assigned in the fission generation.

Definition at line 216 of file G4FissionProductYieldDist.hh.

Referenced by G4GetFission(), SampleAlphaEnergies(), SampleGammaEnergies(), and SampleNeutronEnergies().

G4int G4FissionProductYieldDist::RemainingZ_
protected

Counter for the number of protons available to the fission event.

Definition at line 212 of file G4FissionProductYieldDist.hh.

Referenced by G4GetFission(), GenerateAlphas(), G4FPYNormalFragmentDist::GetFissionProduct(), and G4FPYBiasedLightFragmentDist::GetFissionProduct().

G4Ions* G4FissionProductYieldDist::SmallestA_
protected

Defines the smallest A particle in the field of trees.

Definition at line 226 of file G4FissionProductYieldDist.hh.

Referenced by Initialize(), and SortProbability().

G4Ions* G4FissionProductYieldDist::SmallestZ_
protected

Defines the smallest Z particle in the field of trees.

Definition at line 224 of file G4FissionProductYieldDist.hh.

Referenced by Initialize(), and SortProbability().

G4double G4FissionProductYieldDist::TernaryProbability_
protected

Sets the ternary fission probability.

Valid ranges are [0, 1]

Definition at line 190 of file G4FissionProductYieldDist.hh.

Referenced by G4SetTernaryProbability(), GenerateAlphas(), and Initialize().

G4int G4FissionProductYieldDist::TreeCount_
protected
ProbabilityTree* G4FissionProductYieldDist::Trees_
protected
G4int G4FissionProductYieldDist::Verbosity_
protected

Verbosity level.

Definition at line 218 of file G4FissionProductYieldDist.hh.

Referenced by G4GetFission(), G4SetVerbosity(), and Initialize().

G4double* G4FissionProductYieldDist::YieldEnergies_
protected

Energy values of each energy.

Definition at line 234 of file G4FissionProductYieldDist.hh.

Referenced by FindParticle(), Initialize(), and SortProbability().

G4int G4FissionProductYieldDist::YieldEnergyGroups_
protected

Number of specific energy groups.

Definition at line 232 of file G4FissionProductYieldDist.hh.

Referenced by FindParticle(), FindParticleExtrapolation(), Initialize(), MakeTrees(), ReadProbabilities(), Renormalize(), and SortProbability().

const G4FFGEnumerations::YieldType G4FissionProductYieldDist::YieldType_
protected

The type of yield to be used: INDEPENDET or CUMULATIVE.

Definition at line 176 of file G4FissionProductYieldDist.hh.

Referenced by Initialize().


The documentation for this class was generated from the following files: