Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes
G4FPYBiasedLightFragmentDist Class Reference

#include <G4FPYBiasedLightFragmentDist.hh>

Inheritance diagram for G4FPYBiasedLightFragmentDist:
G4FissionProductYieldDist

Public Member Functions

 G4FPYBiasedLightFragmentDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataStream)
 
 G4FPYBiasedLightFragmentDist (G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, G4int Verbosity, std::istringstream &dataStream)
 
virtual ~G4FPYBiasedLightFragmentDist (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)
 

Protected Attributes

G4int HalfWeight_
 
- 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_
 
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

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

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().

48 : G4FissionProductYieldDist( WhichIsotope,
49  WhichMetaState,
50  WhichCause,
51  WhichYieldType,
52  dataStream)
53 {
54  // Initialize the class
55  Initialize();
56 }
G4FissionProductYieldDist(G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataStream)
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().

65 : G4FissionProductYieldDist( WhichIsotope,
66  WhichMetaState,
67  WhichCause,
68  WhichYieldType,
69  Verbosity,
70  dataStream )
71 {
72  // Initialize the class
73  Initialize();
74 }
G4FissionProductYieldDist(G4int WhichIsotope, G4FFGEnumerations::MetaState WhichMetaState, G4FFGEnumerations::FissionCause WhichCause, G4FFGEnumerations::YieldType WhichYieldType, std::istringstream &dataStream)
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__.

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

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_.

89 {
91 
92  G4Ions* Particle;
93  G4bool IsHeavy;
94  G4bool IsNotFeasable;
95  G4int Counter;
96 
97  Counter = 0;
98  do
99  {
100  // If we have sampled too many times then we may need to do something else
101  if(Counter == 1000)
102  {
103  Particle = NULL;
104  break;
105  }
106 
107  // Generate a (0, 1] random number, then find the corresponding particle
109 
110  // If the daughter is heavier than half of the original nucleus weight
111  // or not physically feasable then set the flags to sample again
112  IsHeavy = (Particle->GetAtomicMass() > HalfWeight_);
113  IsNotFeasable = (Particle->GetAtomicMass() > RemainingA_ + 1
114  || Particle->GetAtomicNumber() > RemainingZ_ + 1);
115  } while (IsHeavy || IsNotFeasable);
116 
117  // Something went wrong, so figure out how to fix it
118  if(Particle == NULL)
119  {
120  /// \todo Figure out what to do if a suitable particle is not found in 1000 iterations
121  }
122 
123  // Return the G4ParticleDefintion pointer to the random light fragment
125  return Particle;
126 }
G4double G4SampleUniform(void)
G4Ions * FindParticle(G4double RandomParticle)
int G4int
Definition: G4Types.hh:78
Definition: G4Ions.hh:51
bool G4bool
Definition: G4Types.hh:79
#define G4FFG_FUNCTIONLEAVE__
#define G4FFG_FUNCTIONENTER__
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().

78 {
80 
81  // Initialize the half-weight for fission product sampling
82  HalfWeight_ = (G4int)floor((Isotope_ % 1000) / 2.0);
83 
85 }
int G4int
Definition: G4Types.hh:78
#define G4FFG_FUNCTIONLEAVE__
#define G4FFG_FUNCTIONENTER__

Field 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: