Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4FPYNormalFragmentDist Class Reference

#include <G4FPYNormalFragmentDist.hh>

Inheritance diagram for G4FPYNormalFragmentDist:
Collaboration 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)
 
virtual ~G4FPYNormalFragmentDist (void)
 
- 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 (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 Initialize (void)
 
virtual G4IonsGetFissionProduct (void)
 
- Protected Member Functions inherited from G4FissionProductYieldDist
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)
 
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)
 

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 45 of file G4FPYNormalFragmentDist.hh.

Constructor & Destructor Documentation

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

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

Here is the call graph for this function:

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

65 : G4FissionProductYieldDist( WhichIsotope,
66  WhichMetaState,
67  WhichCause,
68  WhichYieldType,
69  Verbosity,
70  dataFile)
71 {
72  // Initialize the class
73  Initialize();
74 }
G4FissionProductYieldDist(G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataStream)

Here is the call graph for this function:

G4FPYNormalFragmentDist::~G4FPYNormalFragmentDist ( void  )
virtual

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

Definition at line 125 of file G4FPYNormalFragmentDist.cc.

126 {
128 
129  // Empty - all the data elements to be deconstructed are removed by
130  // ~G4FissionProductYieldDist()
131 
133 }
#define G4FFG_FUNCTIONLEAVE__
#define G4FFG_FUNCTIONENTER__

Member Function Documentation

G4Ions * G4FPYNormalFragmentDist::GetFissionProduct ( void  )
protectedvirtual

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

Implements G4FissionProductYieldDist.

Definition at line 87 of file G4FPYNormalFragmentDist.cc.

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

Here is the call graph for this function:

void G4FPYNormalFragmentDist::Initialize ( void  )
protected

Initialize is a common function called by all constructors.

Definition at line 77 of file G4FPYNormalFragmentDist.cc.

78 {
80 
81  // Nothing here yet
82 
84 }
#define G4FFG_FUNCTIONLEAVE__
#define G4FFG_FUNCTIONENTER__

Here is the caller graph for this function:


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