107 std::vector< G4DynamicParticleVector* > FissionEvent =
G4GenerateFission(1, Projectile);
120 std::vector< G4DynamicParticleVector* > FissionEvent =
G4GenerateFission(1, Projectile);
136 std::vector< G4DynamicParticleVector* > FissionEvents(0);
146 for(
G4long i = 0; i < NumberOfFissions; i++)
154 FissionEvents.push_back(NULL);
158 return FissionEvents;
258 return (A + Z * 1000) * 10 + M;
277 G4cout <<
" -- Alpha production set to " << AlphaProduction_ <<
G4endl;
299 G4cout <<
" -- Ternary fission probability set to " << TernaryProbability_ <<
G4endl;
314 if(!IsSameCause && IsValidCause)
330 CauseString =
"SPONTANEOUS";
333 CauseString =
"NEUTRON_INDUCED";
336 CauseString =
"PROTON_INDUCED";
339 CauseString =
"GAMMA_INDUCED";
352 G4cout <<
" -- Already set to use " << CauseString <<
" as the fission cause. Yield data class will not be reconstructed." <<
G4endl;
355 G4cout <<
" -- Yield data class not yet constructed. " << CauseString <<
" will be applied when it is constructed." <<
G4endl;
369 G4cout <<
" -- Fission cause set to " << CauseString <<
"." <<
G4endl;
392 std::ostringstream EnergyString;
415 G4cout <<
" -- Cannot set a non-zero energy for spontaneous fission" <<
G4endl;
421 G4cout <<
" -- Yield data class not yet constructed. " << EnergyString.str() <<
" will be applied when it is constructed." <<
G4endl;
432 G4cout <<
" -- Incident neutron energy set to " << EnergyString.str() <<
"." <<
G4endl;
461 G4cout <<
" -- Isotope " <<
Isotope_ <<
" already in use. Yield data class will not be reconstructed." <<
G4endl;
467 G4cout <<
" -- Yield data class not yet constructed. The isotope will be set to " <<
Isotope_ <<
" when it is constructed." <<
G4endl;
492 if(!IsSameMetaState && IsValidMetaState)
504 MetaName =
"GROUND_STATE";
521 std::ostringstream Temp;
526 G4cout <<
" -- Already set to use " << MetaName <<
" as the metastable state. Yield data class will not be reconstructed" <<
G4endl;
529 G4cout <<
" -- Yield data class not yet constructed. " << MetaName <<
" will be applied when it is constructed." <<
G4endl;
543 G4cout <<
" -- Metastable state set to " << MetaName <<
"." <<
G4endl;
557 G4bool IsSameScheme = (NewScheme == SamplingScheme_);
559 if(!IsSameScheme && IsValidScheme)
561 SamplingScheme_ = NewScheme;
562 IsReconstructionNeeded_ =
TRUE;
568 switch(SamplingScheme_)
571 SchemeString =
"NORMAL";
575 SchemeString =
"LIGHT_FRAGMENT";
579 SchemeString =
"UNSUPPORTED";
590 if(IsSameScheme && YieldData_ != NULL)
592 G4cout <<
" -- Already set to use " << SchemeString <<
" as the sampling scheme. Yield data class will not be reconstructed." <<
G4endl;
593 }
else if(YieldData_ == NULL)
595 G4cout <<
" -- Yield data class not yet constructed. " << SchemeString <<
" will be applied when it is constructed." <<
G4endl;
609 G4cout <<
" -- Sampling scheme set to " << SchemeString <<
"." <<
G4endl;
625 if(!IsSameYieldType && IsValidYieldType)
637 YieldString =
"INDEPENDENT";
641 YieldString =
"SPONTANEOUS";
645 YieldString =
"UNSUPPORTED";
661 G4cout <<
" -- Yield data class not yet constructed. Yield type " << YieldString <<
" will be applied when it is constructed." <<
G4endl;
675 G4cout <<
" -- Yield type set to " << YieldString <<
G4endl;
711 G4cout <<
" -- Old yield data class deleted." <<
G4endl;
746 G4cout <<
" -- Yield data class constructed with defined values." <<
G4endl;
748 }
catch (std::exception&
e)
bool InitializeFissionProductYieldClass(std::istringstream &dataFile)
CLHEP::Hep3Vector G4ThreeVector
static const G4int FissionSamplingSchemeFirst
G4FFGEnumerations::MetaState G4GetMetaState(void)
static constexpr double MeV
G4FFGEnumerations::FissionCause G4GetCause(void)
G4double TernaryProbability_
G4FFGEnumerations::FissionSamplingScheme SamplingScheme_
static const G4double TernaryProbability
static constexpr double keV
void G4SetTernaryProbability(G4double WhatTernaryProbability)
#define G4FFG_FUNCTIONLEAVE__
static const G4int MetaStateFirst
std::vector< G4DynamicParticle * > G4DynamicParticleVector
static G4int G4MakeIsotopeCode(G4int Z, G4int A, G4int M)
G4FFGEnumerations::FissionSamplingScheme G4GetSamplingScheme(void)
static const G4double ThermalNeutronEnergy
G4FFGEnumerations::YieldType G4GetYieldType(void)
G4FFGEnumerations::YieldType YieldType_
void G4SetYieldType(G4FFGEnumerations::YieldType WhichYieldType)
G4double AlphaProduction_
static const G4FFGEnumerations::FissionCause FissionCause
void G4SetMetaState(G4FFGEnumerations::MetaState WhichMetaState)
static const G4double AlphaProduction
void G4SetIsotope(G4int WhichIsotope)
static const G4int MetaStateLast
G4FissionProductYieldDist * YieldData_
G4FFGEnumerations::MetaState MetaState_
static const G4int FissionSamplingSchemeLast
void G4SetCause(G4FFGEnumerations::FissionCause WhichCause)
G4bool IsReconstructionNeeded_
void G4SetTernaryProbability(G4double TernaryProbability)
void G4SetSamplingScheme(G4FFGEnumerations::FissionSamplingScheme NewScheme)
static constexpr double MeV
void G4SetIncidentEnergy(G4double WhatIncidentEnergy)
double A(double temperature)
static constexpr double eV
G4Ions * G4GenerateFissionProduct(void)
static constexpr double eV
static const G4FFGEnumerations::YieldType YieldType
static const G4FFGEnumerations::MetaState MetaState
G4FFGEnumerations::FissionCause Cause_
G4double G4GetAlphaProduction(void)
void G4SetAlphaProduction(G4double WhatAlphaProduction)
static const G4FFGEnumerations::Verbosity Verbosity
void G4SetEnergy(G4double WhatIncidentEnergy)
const G4ParticleDefinition * GetDefinition() const
G4FissionFragmentGenerator(void)
static G4Neutron * Neutron()
static const G4FFGEnumerations::FissionSamplingScheme SamplingScheme
G4double G4GetTernaryProbability(void)
~G4FissionFragmentGenerator()
G4GLOB_DLL std::ostream G4cout
G4Ions * G4GetFissionProduct(void)
G4double G4GetIncidentEnergy(void)
G4DynamicParticleVector * G4GenerateFission(void)
static constexpr double keV
G4DynamicParticleVector * G4GetFission(void)
static constexpr double GeV
static constexpr double GeV
void G4SetAlphaProduction(G4double WhatAlphaProduction)
static const G4int Isotope
#define G4FFG_FUNCTIONENTER__
void G4SetVerbosity(G4int WhatVerbosity)
void G4SetVerbosity(G4int WhatVerbosity)