Geant4  10.00.p02
G4FPYBiasedLightFragmentDist Class Reference

G4FPYBiasedLightFragmentDist is an inherited class of G4FissionProductYield that only samples the 'light' fission fragments, defined by A < 115. More...

#include <G4FPYBiasedLightFragmentDist.hh>

+ Inheritance diagram for G4FPYBiasedLightFragmentDist:
+ Collaboration diagram for G4FPYBiasedLightFragmentDist:

Public Member Functions

 G4FPYBiasedLightFragmentDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataStream)
 Default constructor. More...
 
 G4FPYBiasedLightFragmentDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, G4int Verbosity, std::istringstream &dataStream)
 Overloaded constructor. More...
 
virtual ~G4FPYBiasedLightFragmentDist (void)
 Default deconstructor. More...
 
- Public Member Functions inherited from G4FissionProductYieldDist
 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 Initialize (void)
 Initialize is a common function called by all constructors. More...
 
virtual G4IonsGetFissionProduct (void)
 Selects a fission product from the probability tree, limited by the number of nucleons available to the system. More...
 
- Protected Member Functions inherited from G4FissionProductYieldDist
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...
 
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

G4int HalfWeight_
 Defines the half-weight of the fission isotope. More...
 
- Protected Attributes inherited from G4FissionProductYieldDist
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...
 

Detailed Description

G4FPYBiasedLightFragmentDist is an inherited class of G4FissionProductYield that only samples the 'light' fission fragments, defined by A < 115.

  • This inherited class of G4FissionProductYield samples only the lighter fission fragments, defined by A < 115
  • This biasing was implemented because of an artifact that is introduced due to random sampling of fission fragments. Typically small fission fragments (neutrons, alphas, gammas) are sampled after the first fragment is sampled. If a heavy fragment (A >= 115) is sampled first then the resulting lighter fission fragment, after all the other particles have been removed from the available mass, will most likely land far off the neutron drip line.
  • This implementation reduces the probability that such an improbable nucleus will be created by first sampling the lighter fission fragment and allowing the heavy fission fragment, which has a lot more flexibility for varying neutron populations, to make up the slack.

Definition at line 58 of file G4FPYBiasedLightFragmentDist.hh.

Constructor & Destructor Documentation

G4FPYBiasedLightFragmentDist::G4FPYBiasedLightFragmentDist ( 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 43 of file G4FPYBiasedLightFragmentDist.cc.

References Initialize().

+ Here is the call graph for this function:

G4FPYBiasedLightFragmentDist::G4FPYBiasedLightFragmentDist ( 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 59 of file G4FPYBiasedLightFragmentDist.cc.

References Initialize().

+ Here is the call graph for this function:

G4FPYBiasedLightFragmentDist::~G4FPYBiasedLightFragmentDist ( void  )
virtual

Default deconstructor.

It is a virtual function since G4FPYBiasedLightFragmentDist inherits from G4FissionProductYieldDist

Definition at line 128 of file G4FPYBiasedLightFragmentDist.cc.

References G4FFG_FUNCTIONENTER__, and G4FFG_FUNCTIONLEAVE__.

Member Function Documentation

G4Ions * G4FPYBiasedLightFragmentDist::GetFissionProduct ( void  )
protectedvirtual

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

Todo:
Figure out what to do if a suitable particle is not found in 1000 iterations

Implements G4FissionProductYieldDist.

Definition at line 88 of file G4FPYBiasedLightFragmentDist.cc.

References G4FissionProductYieldDist::FindParticle(), G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FPYSamplingOps::G4SampleUniform(), HalfWeight_, G4FissionProductYieldDist::RandomEngine_, G4FissionProductYieldDist::RemainingA_, and G4FissionProductYieldDist::RemainingZ_.

+ Here is the call graph for this function:

void G4FPYBiasedLightFragmentDist::Initialize ( void  )
protected

Initialize is a common function called by all constructors.

Definition at line 77 of file G4FPYBiasedLightFragmentDist.cc.

References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, HalfWeight_, and G4FissionProductYieldDist::Isotope_.

Referenced by G4FPYBiasedLightFragmentDist().

+ Here is the caller graph for this function:

Member Data Documentation

G4int G4FPYBiasedLightFragmentDist::HalfWeight_
protected

Defines the half-weight of the fission isotope.

Definition at line 100 of file G4FPYBiasedLightFragmentDist.hh.

Referenced by GetFissionProduct(), and Initialize().


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