Geant4
10.03
|
G4FissionFragmentGenerator is the front end class to be used by the user for handling all fission event generation. More...
#include <G4FissionFragmentGenerator.hh>
Public Member Functions | |
G4FissionFragmentGenerator (void) | |
Default constructor. More... | |
G4FissionFragmentGenerator (G4int Verbosity) | |
Overloaded constructor. More... | |
G4DynamicParticleVector * | G4GenerateFission (void) |
Generates a single fission event. More... | |
G4DynamicParticleVector * | G4GenerateFission (const G4HadProjectile &Projectile) |
Generates a single fission event. More... | |
const std::vector < G4DynamicParticleVector * > | G4GenerateFission (G4long NumberOfFissions, const G4HadProjectile &Projectile) |
Generates NumberOfFissions fission events. More... | |
G4Ions * | G4GenerateFissionProduct (void) |
Returns a randomly sampled fission product. More... | |
G4double | G4GetAlphaProduction (void) |
Returns the production rate of alpha particles for fission events. More... | |
G4double | G4GetTernaryProbability (void) |
Returns the probability of ternary fission. More... | |
G4FFGEnumerations::FissionCause | G4GetCause (void) |
Returns the FissionCause of the fission event. More... | |
G4double | G4GetIncidentEnergy (void) |
Returns the energy of the fission inducing particle. More... | |
G4int | G4GetIsotope (void) |
Returns the code of the fission isotope in ZZZAAA format. More... | |
G4FFGEnumerations::MetaState | G4GetMetaState (void) |
Returns the MetaState of the fission isotope. More... | |
G4FFGEnumerations::FissionSamplingScheme | G4GetSamplingScheme (void) |
Returns the FissionSamplingScheme that is currently in use. More... | |
G4FFGEnumerations::YieldType | G4GetYieldType (void) |
Returns the yield type that is currently in use. More... | |
bool | InitializeFissionProductYieldClass (std::istringstream &dataFile) |
Initializes a new G4FPY ...Dist class based on the class descriptor variables of G4FissionFragmentGenerator. More... | |
void | G4SetAlphaProduction (G4double WhatAlphaProduction) |
Sets the number of alpha particles produced in fission. More... | |
void | G4SetTernaryProbability (G4double WhatTernaryProbability) |
Sets the probability of ternary fission. More... | |
void | G4SetCause (G4FFGEnumerations::FissionCause WhichCause) |
Sets the cause of fission event. More... | |
void | G4SetIncidentEnergy (G4double WhatIncidentEnergy) |
Sets the incident energy, if any, of the particle that cause fission. More... | |
void | G4SetIsotope (G4int WhichIsotope) |
Sets the fission isotope. More... | |
void | G4SetMetaState (G4FFGEnumerations::MetaState WhichMetaState) |
Sets the metastable state of the fission isotope. More... | |
void | G4SetSamplingScheme (G4FFGEnumerations::FissionSamplingScheme NewScheme) |
Set the sampling scheme. More... | |
void | G4SetYieldType (G4FFGEnumerations::YieldType WhichYieldType) |
Sets the ENDF yield type to be used for the data. More... | |
void | G4SetVerbosity (G4int WhatVerbosity) |
Sets the verbosity levels. More... | |
~G4FissionFragmentGenerator () | |
Default deconstructor. More... | |
Static Public Member Functions | |
static G4int | G4MakeIsotopeCode (G4int Z, G4int A, G4int M) |
Converts the Z, A and M of an isotope into an integer representation. More... | |
Protected Member Functions | |
void | Initialize (void) |
Initialize is a common function called by all constructors. More... | |
Protected Attributes | |
G4int | Isotope_ |
Number in ZZZAAA format of the isotope that G4FissionFragmentGenerator references. More... | |
G4FFGEnumerations::MetaState | MetaState_ |
MetaState information of the isotope that G4FissionFragmentGenerator references A value of 0 refers to the ground state. More... | |
G4FFGEnumerations::FissionCause | Cause_ |
The cause of fission: SPONTANEOUS or N_INDUCED . More... | |
G4double | IncidentEnergy_ |
Kinetic energy, if any, of the incident particle in GeV. More... | |
G4FFGEnumerations::YieldType | YieldType_ |
The type of yield to be used: INDEPENDET or CUMULATIVE . More... | |
G4double | TernaryProbability_ |
Sets the ternary fission probability. More... | |
G4double | AlphaProduction_ |
Controls whether alpha particles are emitted, and how many. More... | |
G4bool | IsReconstructionNeeded_ |
If Isotope_, MetaState_, Cause_, or IncidentEnergy_ are changed in the middle of a run then the class pointed at by YieldData_ will need to be reconstructed. More... | |
G4int | Verbosity_ |
Verbosity level. More... | |
G4FFGEnumerations::FissionSamplingScheme | SamplingScheme_ |
The sampling scheme that is used: NORMAL , LIGHT_FRAGMENT , or WENDT . More... | |
G4FissionProductYieldDist * | YieldData_ |
Pointer to G4FissionProductYieldDist class that holds all the probabilistic yield data. More... | |
G4FissionFragmentGenerator is the front end class to be used by the user for handling all fission event generation.
This class is intended to be instantiated for one type of fission event for as specific isotope/isomer, fission type, and incident neutron energy. For this reason no functions exist to change or modify these values once the class in constructed. A new class must be created by the user for each type of fission event, if such functionality is desired.
Definition at line 54 of file G4FissionFragmentGenerator.hh.
G4FissionFragmentGenerator::G4FissionFragmentGenerator | ( | void | ) |
Default constructor.
92238
GROUND_STATE
SPONTANEOUS
0.025
eVINDEPENDENT
0
0
NORMAL
Definition at line 55 of file G4FissionFragmentGenerator.cc.
References Initialize(), G4FFGDefaultValues::Verbosity, and Verbosity_.
G4FissionFragmentGenerator::G4FissionFragmentGenerator | ( | G4int | Verbosity | ) |
Overloaded constructor.
Verbosity:
Verbosity levelDefinition at line 65 of file G4FissionFragmentGenerator.cc.
References Initialize(), and Verbosity_.
G4FissionFragmentGenerator::~G4FissionFragmentGenerator | ( | ) |
Default deconstructor.
Definition at line 760 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and YieldData_.
G4DynamicParticleVector * G4FissionFragmentGenerator::G4GenerateFission | ( | void | ) |
Generates a single fission event.
Definition at line 98 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4Neutron::Neutron(), and G4FFGDefaultValues::ThermalNeutronEnergy.
Referenced by G4GenerateFission().
G4DynamicParticleVector * G4FissionFragmentGenerator::G4GenerateFission | ( | const G4HadProjectile & | Projectile | ) |
Generates a single fission event.
Projectile:
G4HadProjectile of the fission-inducing particleDefinition at line 115 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and G4GenerateFission().
const std::vector< G4DynamicParticleVector * > G4FissionFragmentGenerator::G4GenerateFission | ( | G4long | NumberOfFissions, |
const G4HadProjectile & | Projectile | ||
) |
Generates NumberOfFissions fission events.
NumberOfFissions:
The number of fission events to generateNumberOfFissions
fission events Definition at line 128 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FissionProductYieldDist::G4GetFission(), G4HadProjectile::GetDefinition(), IsReconstructionNeeded_, G4Neutron::Neutron(), TRUE, and YieldData_.
G4Ions * G4FissionFragmentGenerator::G4GenerateFissionProduct | ( | void | ) |
Returns a randomly sampled fission product.
Definition at line 162 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FissionProductYieldDist::G4GetFissionProduct(), IsReconstructionNeeded_, TRUE, and YieldData_.
G4double G4FissionFragmentGenerator::G4GetAlphaProduction | ( | void | ) |
Returns the production rate of alpha particles for fission events.
Definition at line 179 of file G4FissionFragmentGenerator.cc.
References AlphaProduction_, G4FFG_FUNCTIONENTER__, and G4FFG_FUNCTIONLEAVE__.
G4FFGEnumerations::FissionCause G4FissionFragmentGenerator::G4GetCause | ( | void | ) |
Returns the FissionCause of the fission event.
Definition at line 197 of file G4FissionFragmentGenerator.cc.
References Cause_, G4FFG_FUNCTIONENTER__, and G4FFG_FUNCTIONLEAVE__.
G4double G4FissionFragmentGenerator::G4GetIncidentEnergy | ( | void | ) |
Returns the energy of the fission inducing particle.
Definition at line 206 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and IncidentEnergy_.
G4int G4FissionFragmentGenerator::G4GetIsotope | ( | void | ) |
Returns the code of the fission isotope in ZZZAAA format.
Definition at line 215 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and Isotope_.
G4FFGEnumerations::MetaState G4FissionFragmentGenerator::G4GetMetaState | ( | void | ) |
Returns the MetaState of the fission isotope.
Definition at line 224 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and MetaState_.
G4FFGEnumerations::FissionSamplingScheme G4FissionFragmentGenerator::G4GetSamplingScheme | ( | void | ) |
Returns the FissionSamplingScheme that is currently in use.
Definition at line 233 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and SamplingScheme_.
G4double G4FissionFragmentGenerator::G4GetTernaryProbability | ( | void | ) |
Returns the probability of ternary fission.
Definition at line 188 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and TernaryProbability_.
G4FFGEnumerations::YieldType G4FissionFragmentGenerator::G4GetYieldType | ( | void | ) |
Returns the yield type that is currently in use.
Definition at line 242 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, and YieldType_.
Converts the Z, A and M of an isotope into an integer representation.
Definition at line 251 of file G4FissionFragmentGenerator.cc.
Referenced by G4WendtFissionFragmentGenerator::ApplyYourself(), and G4WendtFissionFragmentGenerator::InitializeANucleus().
void G4FissionFragmentGenerator::G4SetAlphaProduction | ( | G4double | WhatAlphaProduction | ) |
Sets the number of alpha particles produced in fission.
AlphaProduction
is negative then alpha particles are sampled on a Gaussian with a mean of abs(AlphaProduction)
.Definition at line 262 of file G4FissionFragmentGenerator.cc.
References AlphaProduction_, G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FissionProductYieldDist::G4SetAlphaProduction(), G4FFGEnumerations::UPDATES, Verbosity_, and YieldData_.
void G4FissionFragmentGenerator::G4SetCause | ( | G4FFGEnumerations::FissionCause | WhichCause | ) |
Sets the cause of fission event.
WhichCause:
SPONTANEOUS
, N_INDUCED
, P_INDUCED
, or G_INDUCED
Definition at line 306 of file G4FissionFragmentGenerator.cc.
References Cause_, G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FFGEnumerations::GAMMA_INDUCED, IncidentEnergy_, IsReconstructionNeeded_, G4FFGEnumerations::NEUTRON_INDUCED, G4FFGEnumerations::PROTON_INDUCED, G4FFGEnumerations::SILENT, G4FFGEnumerations::SPONTANEOUS, TRUE, G4FFGEnumerations::UPDATES, Verbosity_, G4FFGEnumerations::WARNING, and YieldData_.
Referenced by G4WendtFissionFragmentGenerator::InitializeANucleus().
void G4FissionFragmentGenerator::G4SetIncidentEnergy | ( | G4double | WhatIncidentEnergy | ) |
Sets the incident energy, if any, of the particle that cause fission.
WhatIncidentEnergy:
Kinetic energy of the particle with units applied;Definition at line 377 of file G4FissionFragmentGenerator.cc.
References Cause_, G4FFGEnumerations::ENERGY_INFO, eV, G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FissionProductYieldDist::G4SetEnergy(), GeV, IncidentEnergy_, keV, MeV, G4FFGEnumerations::SILENT, G4FFGEnumerations::SPONTANEOUS, G4FFGEnumerations::UPDATES, Verbosity_, G4FFGEnumerations::WARNING, and YieldData_.
Referenced by G4WendtFissionFragmentGenerator::InitializeANucleus().
void G4FissionFragmentGenerator::G4SetIsotope | ( | G4int | WhichIsotope | ) |
Sets the fission isotope.
WhichIsotope:
Code of the isotope in ZZZAAA formatDefinition at line 440 of file G4FissionFragmentGenerator.cc.
References G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, Isotope_, IsReconstructionNeeded_, G4FFGEnumerations::SILENT, TRUE, G4FFGEnumerations::UPDATES, Verbosity_, G4FFGEnumerations::WARNING, and YieldData_.
Referenced by G4WendtFissionFragmentGenerator::InitializeANucleus().
void G4FissionFragmentGenerator::G4SetMetaState | ( | G4FFGEnumerations::MetaState | WhichMetaState | ) |
Sets the metastable state of the fission isotope.
WhichMetaState:
GROUND_STATE
, META_1
, or META_2
Definition at line 484 of file G4FissionFragmentGenerator.cc.
References G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FFGEnumerations::GROUND_STATE, IsReconstructionNeeded_, G4FFGEnumerations::META_1, G4FFGEnumerations::META_2, MetaState_, G4FFGEnumerations::MetaStateFirst, G4FFGEnumerations::MetaStateLast, G4FFGEnumerations::SILENT, TRUE, G4FFGEnumerations::UPDATES, Verbosity_, G4FFGEnumerations::WARNING, and YieldData_.
Referenced by G4WendtFissionFragmentGenerator::InitializeANucleus().
void G4FissionFragmentGenerator::G4SetSamplingScheme | ( | G4FFGEnumerations::FissionSamplingScheme | NewScheme | ) |
Set the sampling scheme.
NORMAL:
Sets the parameters of this class to sample fission events without any biasing.LIGHT_FRAGMENT:
Sets the parameters of this class to bias the fragment generation by always selecting a light fragment (A < 115) first.WENDT:
Sets the parameters of this class to sample fission events according to the Wendt sampling scheme. Please refer to the code documentation for G4FPYWendtSamplingDist for a more detailed explanation. Definition at line 551 of file G4FissionFragmentGenerator.cc.
References G4FFGEnumerations::FissionSamplingSchemeFirst, G4FFGEnumerations::FissionSamplingSchemeLast, G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FFGEnumerations::LIGHT_FRAGMENT, G4FFGEnumerations::NORMAL, G4FFGEnumerations::SILENT, TRUE, G4FFGEnumerations::UPDATES, and G4FFGEnumerations::WARNING.
Referenced by G4WendtFissionFragmentGenerator::InitializeANucleus().
void G4FissionFragmentGenerator::G4SetTernaryProbability | ( | G4double | WhatTernaryProbability | ) |
Sets the probability of ternary fission.
WhatAlphaProductionProbability:
Probability of generating alpha particles for a fission event. 1 = 100% chance of alpha productionDefinition at line 284 of file G4FissionFragmentGenerator.cc.
References G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FissionProductYieldDist::G4SetTernaryProbability(), TernaryProbability_, G4FFGEnumerations::UPDATES, Verbosity_, and YieldData_.
void G4FissionFragmentGenerator::G4SetVerbosity | ( | G4int | WhatVerbosity | ) |
Sets the verbosity levels.
WhichVerbosity:
Combination of levelsSILENT:
All verbose output is repressedUPDATES:
Only high-level internal changes are reportedDAUGHTER_INFO:
Displays information about daughter product samplingNEUTRON_INFO:
Displays information about neutron samplingGAMMA_INFO:
Displays information about gamma samplingALPHA_INFO:
Displays information about alpha samplingMOMENTUM_INFO:
Displays information about momentum balancingEXTRAPOLATION_INTERPOLATION_INFO:
Displays information about any data extrapolation or interpolation that occursDEBUG:
Reports program flow as it steps through functionsPRINT_ALL:
Displays any and all output Definition at line 683 of file G4FissionFragmentGenerator.cc.
References G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FissionProductYieldDist::G4SetVerbosity(), Verbosity_, and YieldData_.
void G4FissionFragmentGenerator::G4SetYieldType | ( | G4FFGEnumerations::YieldType | WhichYieldType | ) |
Sets the ENDF yield type to be used for the data.
WhichYieldType:
INDEPENDENT
or COMULATIVE
Definition at line 617 of file G4FissionFragmentGenerator.cc.
References G4FFGEnumerations::CUMULATIVE, G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FFGEnumerations::INDEPENDENT, IsReconstructionNeeded_, G4FFGEnumerations::SILENT, G4FFGEnumerations::SPONTANEOUS, TRUE, G4FFGEnumerations::UPDATES, Verbosity_, G4FFGEnumerations::WARNING, YieldData_, and YieldType_.
Referenced by G4WendtFissionFragmentGenerator::InitializeANucleus().
|
protected |
Initialize is a common function called by all constructors.
Definition at line 75 of file G4FissionFragmentGenerator.cc.
References G4FFGDefaultValues::AlphaProduction, AlphaProduction_, Cause_, G4FFGDefaultValues::FissionCause, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, IncidentEnergy_, G4FFGDefaultValues::Isotope, Isotope_, IsReconstructionNeeded_, G4FFGDefaultValues::MetaState, MetaState_, G4FFGDefaultValues::SamplingScheme, SamplingScheme_, G4FFGDefaultValues::TernaryProbability, TernaryProbability_, G4FFGDefaultValues::ThermalNeutronEnergy, TRUE, YieldData_, G4FFGDefaultValues::YieldType, and YieldType_.
Referenced by G4FissionFragmentGenerator().
bool G4FissionFragmentGenerator::InitializeFissionProductYieldClass | ( | std::istringstream & | dataFile | ) |
Initializes a new G4FPY
...Dist class based on the class descriptor variables of G4FissionFragmentGenerator.
Definition at line 698 of file G4FissionFragmentGenerator.cc.
References AlphaProduction_, Cause_, FALSE, G4cout, G4endl, G4FFG_FUNCTIONENTER__, G4FFG_FUNCTIONLEAVE__, G4FFG_LOCATION__, G4FFG_SPACING__, G4FissionProductYieldDist::G4SetAlphaProduction(), G4FissionProductYieldDist::G4SetTernaryProbability(), Isotope_, IsReconstructionNeeded_, MetaState_, G4FFGEnumerations::NORMAL, SamplingScheme_, TernaryProbability_, G4FFGEnumerations::UPDATES, Verbosity_, YieldData_, and YieldType_.
Referenced by G4WendtFissionFragmentGenerator::InitializeANucleus().
|
protected |
Controls whether alpha particles are emitted, and how many.
Definition at line 261 of file G4FissionFragmentGenerator.hh.
Referenced by G4GetAlphaProduction(), G4SetAlphaProduction(), Initialize(), and InitializeFissionProductYieldClass().
|
protected |
The cause of fission: SPONTANEOUS
or N_INDUCED
.
Definition at line 253 of file G4FissionFragmentGenerator.hh.
Referenced by G4GetCause(), G4SetCause(), G4SetIncidentEnergy(), Initialize(), and InitializeFissionProductYieldClass().
|
protected |
Kinetic energy, if any, of the incident particle in GeV.
Definition at line 255 of file G4FissionFragmentGenerator.hh.
Referenced by G4GetIncidentEnergy(), G4SetCause(), G4SetIncidentEnergy(), and Initialize().
|
protected |
Number in ZZZAAA format of the isotope that G4FissionFragmentGenerator references.
Definition at line 246 of file G4FissionFragmentGenerator.hh.
Referenced by G4GetIsotope(), G4SetIsotope(), Initialize(), and InitializeFissionProductYieldClass().
|
protected |
If Isotope_, MetaState_, Cause_, or IncidentEnergy_ are changed in the middle of a run then the class pointed at by YieldData_ will need to be reconstructed.
Definition at line 266 of file G4FissionFragmentGenerator.hh.
Referenced by G4GenerateFission(), G4GenerateFissionProduct(), G4SetCause(), G4SetIsotope(), G4SetMetaState(), G4SetYieldType(), Initialize(), and InitializeFissionProductYieldClass().
|
protected |
MetaState information of the isotope that G4FissionFragmentGenerator references
A value of 0 refers to the ground state.
Definition at line 251 of file G4FissionFragmentGenerator.hh.
Referenced by G4GetMetaState(), G4SetMetaState(), Initialize(), and InitializeFissionProductYieldClass().
|
protected |
The sampling scheme that is used: NORMAL
, LIGHT_FRAGMENT
, or WENDT
.
Definition at line 274 of file G4FissionFragmentGenerator.hh.
Referenced by G4GetSamplingScheme(), Initialize(), and InitializeFissionProductYieldClass().
|
protected |
Sets the ternary fission probability.
Valid ranges are [0, 1]
Definition at line 259 of file G4FissionFragmentGenerator.hh.
Referenced by G4GetTernaryProbability(), G4SetTernaryProbability(), Initialize(), and InitializeFissionProductYieldClass().
|
protected |
Verbosity level.
Definition at line 268 of file G4FissionFragmentGenerator.hh.
Referenced by G4FissionFragmentGenerator(), G4SetAlphaProduction(), G4SetCause(), G4SetIncidentEnergy(), G4SetIsotope(), G4SetMetaState(), G4SetTernaryProbability(), G4SetVerbosity(), G4SetYieldType(), and InitializeFissionProductYieldClass().
|
protected |
Pointer to G4FissionProductYieldDist class that holds all the probabilistic yield data.
Definition at line 278 of file G4FissionFragmentGenerator.hh.
Referenced by G4GenerateFission(), G4GenerateFissionProduct(), G4SetAlphaProduction(), G4SetCause(), G4SetIncidentEnergy(), G4SetIsotope(), G4SetMetaState(), G4SetTernaryProbability(), G4SetVerbosity(), G4SetYieldType(), Initialize(), InitializeFissionProductYieldClass(), and ~G4FissionFragmentGenerator().
|
protected |
The type of yield to be used: INDEPENDET
or CUMULATIVE
.
Definition at line 257 of file G4FissionFragmentGenerator.hh.
Referenced by G4GetYieldType(), G4SetYieldType(), Initialize(), and InitializeFissionProductYieldClass().