Geant4_10
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
G4FissionProductYieldDist Class Referenceabstract

#include <G4FissionProductYieldDist.hh>

Inheritance diagram for G4FissionProductYieldDist:
Inheritance graph
[legend]
Collaboration diagram for G4FissionProductYieldDist:
Collaboration graph
[legend]

Public Member Functions

 G4FissionProductYieldDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataStream)
 
 G4FissionProductYieldDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, G4int Verbosity, std::istringstream &dataStream)
 
G4DynamicParticleVectorG4GetFission (void)
 
G4IonsG4GetFissionProduct (void)
 
void G4SetAlphaProduction (G4double WhatAlphaProduction)
 
void G4SetEnergy (G4double WhatIncidentEnergy)
 
void G4SetTernaryProbability (G4double TernaryProbability)
 
void G4SetVerbosity (G4int WhatVerbosity)
 
virtual ~G4FissionProductYieldDist (void)
 

Protected Member Functions

void CheckAlphaSanity (void)
 
G4IonsFindParticle (G4double RandomParticle)
 
G4IonsFindParticleExtrapolation (G4double RandomParticle, G4bool LowerEnergyGroupExists)
 
G4IonsFindParticleInterpolation (G4double RandomParticle, G4int LowerEnergyGroup)
 
G4IonsFindParticleBranchSearch (ProbabilityBranch *Branch, G4double RandomParticle, G4int EnergyGroup1, G4int EnergyGroup2)
 
virtual void GenerateAlphas (std::vector< G4ReactionProduct * > *Alphas)
 
virtual void GenerateNeutrons (std::vector< G4ReactionProduct * > *Neutrons)
 
virtual G4IonsGetFissionProduct (void)=0
 
G4IonsGetParticleDefinition (G4int Product, G4FFGEnumerations::MetaState MetaState)
 
G4String MakeDirectoryName (void)
 
G4String MakeFileName (G4int Isotope, G4FFGEnumerations::MetaState MetaState)
 
G4DynamicParticleMakeG4DynamicParticle (G4ReactionProduct *)
 
G4String MakeIsotopeName (G4int Isotope, G4FFGEnumerations::MetaState MetaState)
 
virtual void MakeTrees (void)
 
virtual void ReadProbabilities (void)
 
void Renormalize (ProbabilityBranch *Branch)
 
void SampleAlphaEnergies (std::vector< G4ReactionProduct * > *Alphas)
 
void SampleGammaEnergies (std::vector< G4ReactionProduct * > *Gammas)
 
void SampleNeutronEnergies (std::vector< G4ReactionProduct * > *Neutrons)
 
void SetNubar (void)
 
virtual void SortProbability (G4ENDFYieldDataContainer *YieldData)
 
void BurnTree (ProbabilityBranch *Branch)
 

Protected Attributes

const G4int Isotope_
 
const G4FFGEnumerations::MetaState MetaState_
 
const
G4FFGEnumerations::FissionCause 
Cause_
 
const G4FFGEnumerations::YieldType YieldType_
 
G4ENDFTapeReadENDFData_
 
G4IonsAlphaDefinition_
 
G4double AlphaProduction_
 
G4double TernaryProbability_
 
G4IonsGammaDefinition_
 
G4double IncidentEnergy_
 
G4double MeanGammaEnergy_
 
G4IonsNeutronDefinition_
 
G4double Nubar_
 
G4double NubarWidth_
 
G4int RemainingZ_
 
G4int RemainingA_
 
G4double RemainingEnergy_
 
G4int Verbosity_
 
ProbabilityTreeTrees_
 
G4IonsSmallestZ_
 
G4IonsSmallestA_
 
G4IonsLargestZ_
 
G4IonsLargestA_
 
G4int YieldEnergyGroups_
 
G4doubleYieldEnergies_
 
G4doubleMaintainNormalizedData_
 
G4doubleDataTotal_
 
G4int TreeCount_
 
G4int BranchCount_
 
G4IonTableIonTable_
 
G4NeutronHPNamesElementNames_
 
G4FPYSamplingOpsRandomEngine_
 

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Here is the call 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.

Here is the call 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.

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.

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.

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.

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.

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.

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.

G4double G4FissionProductYieldDist::AlphaProduction_
protected

Controls whether alpha particles are emitted, and how many

Definition at line 188 of file G4FissionProductYieldDist.hh.

G4int G4FissionProductYieldDist::BranchCount_
protected

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

Definition at line 242 of file G4FissionProductYieldDist.hh.

const G4FFGEnumerations::FissionCause G4FissionProductYieldDist::Cause_
protected

The cause of fission: SPONTANEOUS or N_INDUCED.

Definition at line 174 of file G4FissionProductYieldDist.hh.

G4double* G4FissionProductYieldDist::DataTotal_
protected

A running total of all the probabilities

Definition at line 238 of file G4FissionProductYieldDist.hh.

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.

G4ENDFTapeRead* G4FissionProductYieldDist::ENDFData_
protected

Name of the fission yield product data file that G4FissionProductYieldDist references

Definition at line 182 of file G4FissionProductYieldDist.hh.

G4Ions* G4FissionProductYieldDist::GammaDefinition_
protected

Contains the g4ParticleDefinition pointer to a gamma particle

Definition at line 192 of file G4FissionProductYieldDist.hh.

G4double G4FissionProductYieldDist::IncidentEnergy_
protected

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

Definition at line 194 of file G4FissionProductYieldDist.hh.

G4IonTable* G4FissionProductYieldDist::IonTable_
protected

Pointer to G4IonTable
All G4Ions are created using G4IonTable

Definition at line 250 of file G4FissionProductYieldDist.hh.

const G4int G4FissionProductYieldDist::Isotope_
protected

Number in ZZZAAA format of the isotope that G4FissionProductYieldDist references

Definition at line 167 of file G4FissionProductYieldDist.hh.

G4Ions* G4FissionProductYieldDist::LargestA_
protected

Defines the largest Z particle in the field of trees

Definition at line 230 of file G4FissionProductYieldDist.hh.

G4Ions* G4FissionProductYieldDist::LargestZ_
protected

Defines the largest Z particle in the field of trees.

Definition at line 228 of file G4FissionProductYieldDist.hh.

G4double* G4FissionProductYieldDist::MaintainNormalizedData_
protected

Variable for ensuring that the input data is normalized

Definition at line 236 of file G4FissionProductYieldDist.hh.

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.

G4double G4FissionProductYieldDist::Nubar_
protected

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

Definition at line 205 of file G4FissionProductYieldDist.hh.

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.

G4FPYSamplingOps* G4FissionProductYieldDist::RandomEngine_
protected

Pointer to the CLHEP library random engine

Definition at line 256 of file G4FissionProductYieldDist.hh.

G4int G4FissionProductYieldDist::RemainingA_
protected

Counter for the number of nucleons available to the fission event

Definition at line 214 of file G4FissionProductYieldDist.hh.

G4double G4FissionProductYieldDist::RemainingEnergy_
protected

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

Definition at line 216 of file G4FissionProductYieldDist.hh.

G4int G4FissionProductYieldDist::RemainingZ_
protected

Counter for the number of protons available to the fission event

Definition at line 212 of file G4FissionProductYieldDist.hh.

G4Ions* G4FissionProductYieldDist::SmallestA_
protected

Defines the smallest A particle in the field of trees

Definition at line 226 of file G4FissionProductYieldDist.hh.

G4Ions* G4FissionProductYieldDist::SmallestZ_
protected

Defines the smallest Z particle in the field of trees

Definition at line 224 of file G4FissionProductYieldDist.hh.

G4double G4FissionProductYieldDist::TernaryProbability_
protected

Sets the ternary fission probability. Valid ranges are [0, 1]

Definition at line 190 of file G4FissionProductYieldDist.hh.

G4int G4FissionProductYieldDist::TreeCount_
protected

The number of trees in the field

Definition at line 240 of file G4FissionProductYieldDist.hh.

ProbabilityTree* G4FissionProductYieldDist::Trees_
protected

An array, or 'field', of the probability trees

Definition at line 222 of file G4FissionProductYieldDist.hh.

G4int G4FissionProductYieldDist::Verbosity_
protected

Verbosity level

Definition at line 218 of file G4FissionProductYieldDist.hh.

G4double* G4FissionProductYieldDist::YieldEnergies_
protected

Energy values of each energy

Definition at line 234 of file G4FissionProductYieldDist.hh.

G4int G4FissionProductYieldDist::YieldEnergyGroups_
protected

Number of specific energy groups

Definition at line 232 of file G4FissionProductYieldDist.hh.

const G4FFGEnumerations::YieldType G4FissionProductYieldDist::YieldType_
protected

The type of yield to be used: INDEPENDET or CUMULATIVE

Definition at line 176 of file G4FissionProductYieldDist.hh.


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