Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4FPYNormalFragmentDist Class Reference

#include <G4FPYNormalFragmentDist.hh>

Inheritance diagram for G4FPYNormalFragmentDist:

Public Member Functions

 G4FPYNormalFragmentDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataFile)
 G4FPYNormalFragmentDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, G4int Verbosity, std::istringstream &dataFile)
 ~G4FPYNormalFragmentDist () override
Public Member Functions inherited from G4FissionProductYieldDist
 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 ()
G4IonsG4GetFissionProduct ()
void G4SetAlphaProduction (G4double WhatAlphaProduction)
void G4SetEnergy (G4double WhatIncidentEnergy)
void G4SetTernaryProbability (G4double TernaryProbability)
void G4SetVerbosity (G4int WhatVerbosity)
virtual ~G4FissionProductYieldDist ()

Protected Member Functions

void Initialize ()
G4IonsGetFissionProduct () override
Protected Member Functions inherited from G4FissionProductYieldDist
void CheckAlphaSanity ()
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)
G4IonsGetParticleDefinition (G4int Product, G4FFGEnumerations::MetaState MetaState)
G4String MakeDirectoryName ()
G4String MakeFileName (G4int Isotope, G4FFGEnumerations::MetaState MetaState)
G4DynamicParticleMakeG4DynamicParticle (G4ReactionProduct *)
G4String MakeIsotopeName (G4int Isotope, G4FFGEnumerations::MetaState MetaState)
virtual void MakeTrees ()
virtual void ReadProbabilities ()
void Renormalize (ProbabilityBranch *Branch)
void SampleAlphaEnergies (std::vector< G4ReactionProduct * > *Alphas)
void SampleGammaEnergies (std::vector< G4ReactionProduct * > *Gammas)
void SampleNeutronEnergies (std::vector< G4ReactionProduct * > *Neutrons)
void SetNubar ()
virtual void SortProbability (G4ENDFYieldDataContainer *YieldData)
void BurnTree (ProbabilityBranch *Branch)

Additional Inherited Members

Protected Attributes inherited from G4FissionProductYieldDist
const G4int Isotope_
const G4FFGEnumerations::MetaState MetaState_
const G4FFGEnumerations::FissionCause Cause_
const G4FFGEnumerations::YieldType YieldType_
G4ENDFTapeReadENDFData_
G4IonsAlphaDefinition_
G4double AlphaProduction_
G4double TernaryProbability_
G4GammaGammaDefinition_
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_
G4ParticleHPNamesElementNames_
G4FPYSamplingOpsRandomEngine_

Detailed Description

G4FPYNormalFragmentDist is an inherited class of G4FissionProductYield that samples fission fragments from the entire data set.

Definition at line 44 of file G4FPYNormalFragmentDist.hh.

Constructor & Destructor Documentation

◆ G4FPYNormalFragmentDist() [1/2]

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

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 42 of file G4FPYNormalFragmentDist.cc.

47 : G4FissionProductYieldDist(WhichIsotope, WhichMetaState, WhichCause, WhichYieldType, dataFile)
48{
49 // Initialize the class
50 Initialize();
51}
G4FissionProductYieldDist(G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataStream)

◆ G4FPYNormalFragmentDist() [2/2]

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

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 53 of file G4FPYNormalFragmentDist.cc.

58 : G4FissionProductYieldDist(WhichIsotope, WhichMetaState, WhichCause, WhichYieldType, Verbosity,
59 dataFile)
60{
61 // Initialize the class
62 Initialize();
63}

◆ ~G4FPYNormalFragmentDist()

G4FPYNormalFragmentDist::~G4FPYNormalFragmentDist ( )
override

Default deconstructor. It is a virtual function since G4FPYNormalFragmentDist inherits from G4FissionProductYieldDist

Definition at line 109 of file G4FPYNormalFragmentDist.cc.

110{
112
113 // Empty - all the data elements to be deconstructed are removed by
114 // ~G4FissionProductYieldDist()
115
117}
#define G4FFG_FUNCTIONLEAVE__
#define G4FFG_FUNCTIONENTER__

Member Function Documentation

◆ GetFissionProduct()

G4Ions * G4FPYNormalFragmentDist::GetFissionProduct ( )
overrideprotectedvirtual

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

Implements G4FissionProductYieldDist.

Definition at line 71 of file G4FPYNormalFragmentDist.cc.

72{
74
75 G4Ions* Particle = nullptr;
76
77 // Generate a (0, 1] random number and return the respective particle.
78 // The ENDF data tables lists 72172 as the largest fission fragment produced
79 // for any fission event. The maximum alpha production is 10 and the
80 // smallest fissile isotope is 90227. This means that if isotope 72172 were
81 // selected as the first daughter product, then at 10 alpha particles only
82 // 15 nucleons and -2 protons would remain for the second daughter product.
83 // Although the actual probability of this occurring is very small, or 0 in
84 // this case, a check should still be made to ensure that the second
85 // daughter product can be physically realized. This would prevent a
86 // situation such as this extreme example which results in a nucleus of 13
87 // neutrons and 2 anti-protons.
88 // This quick sanity check may become even more valid if the ENDF data
89 // tables are expanded in the future and include larger fission products.
90
91 G4int icounter = 0;
92 G4int icounter_max = 1024;
93 do {
94 icounter++;
95 if (icounter > icounter_max) {
96 G4cout << "Loop-counter exceeded the threshold value at " << __LINE__ << "th line of "
97 << __FILE__ << "." << G4endl;
98 break;
99 }
100 Particle = FindParticle(RandomEngine_->G4SampleUniform());
101 } while (Particle->GetAtomicMass() > RemainingA_ + 1
102 || Particle->GetAtomicNumber() > RemainingZ_ + 1);
103 // Loop checking, 11.05.2015, T. Koi
104
106 return Particle;
107}
int G4int
Definition G4Types.hh:85
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
G4Ions * FindParticle(G4double RandomParticle)

◆ Initialize()

void G4FPYNormalFragmentDist::Initialize ( )
protected

Initialize is a common function called by all constructors.

Definition at line 65 of file G4FPYNormalFragmentDist.cc.

66
67 // Nothing here yet
68

Referenced by G4FPYNormalFragmentDist(), and G4FPYNormalFragmentDist().


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