81 Isotope_ = G4FFGDefaultValues::Isotope;
83 Cause_ = G4FFGDefaultValues::FissionCause;
104 G4FFGDefaultValues::ThermalNeutronEnergy));
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;
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;
488 G4bool IsValidMetaState = (WhichMetaState >= G4FFGEnumerations::MetaStateFirst
489 && WhichMetaState <= G4FFGEnumerations::MetaStateLast);
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;
550void G4FissionFragmentGenerator
555 G4bool IsValidScheme = (NewScheme >= G4FFGEnumerations::FissionSamplingSchemeFirst
556 && NewScheme <= G4FFGEnumerations::FissionSamplingSchemeLast);
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)
double A(double temperature)
std::vector< G4DynamicParticle * > G4DynamicParticleVector
#define G4FFG_FUNCTIONLEAVE__
#define G4FFG_FUNCTIONENTER__
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
G4double G4GetIncidentEnergy(void)
G4FFGEnumerations::MetaState MetaState_
G4FFGEnumerations::YieldType G4GetYieldType(void)
bool InitializeFissionProductYieldClass(std::istringstream &dataFile)
G4FFGEnumerations::MetaState G4GetMetaState(void)
G4FFGEnumerations::YieldType YieldType_
G4FFGEnumerations::FissionSamplingScheme G4GetSamplingScheme(void)
void G4SetYieldType(G4FFGEnumerations::YieldType WhichYieldType)
G4DynamicParticleVector * G4GenerateFission(void)
G4double G4GetAlphaProduction(void)
G4FissionProductYieldDist * YieldData_
G4FissionFragmentGenerator(void)
G4double G4GetTernaryProbability(void)
G4double TernaryProbability_
G4FFGEnumerations::FissionCause Cause_
void G4SetMetaState(G4FFGEnumerations::MetaState WhichMetaState)
G4bool IsReconstructionNeeded_
G4double AlphaProduction_
void G4SetAlphaProduction(G4double WhatAlphaProduction)
G4Ions * G4GenerateFissionProduct(void)
G4FFGEnumerations::FissionSamplingScheme SamplingScheme_
static G4int G4MakeIsotopeCode(G4int Z, G4int A, G4int M)
G4FFGEnumerations::FissionCause G4GetCause(void)
~G4FissionFragmentGenerator()
void G4SetCause(G4FFGEnumerations::FissionCause WhichCause)
void G4SetTernaryProbability(G4double WhatTernaryProbability)
void G4SetIsotope(G4int WhichIsotope)
void G4SetIncidentEnergy(G4double WhatIncidentEnergy)
void G4SetVerbosity(G4int WhatVerbosity)
void G4SetEnergy(G4double WhatIncidentEnergy)
G4DynamicParticleVector * G4GetFission(void)
void G4SetAlphaProduction(G4double WhatAlphaProduction)
void G4SetVerbosity(G4int WhatVerbosity)
void G4SetTernaryProbability(G4double TernaryProbability)
G4Ions * G4GetFissionProduct(void)
const G4ParticleDefinition * GetDefinition() const
static G4Neutron * Neutron()