76 Isotope_ = G4FFGDefaultValues::Isotope;
78 Cause_ = G4FFGDefaultValues::FissionCause;
99 G4FFGDefaultValues::ThermalNeutronEnergy));
102 std::vector< G4DynamicParticleVector* > FissionEvent =
G4GenerateFission(1, Projectile);
115 std::vector< G4DynamicParticleVector* > FissionEvent =
G4GenerateFission(1, Projectile);
131 std::vector< G4DynamicParticleVector* > FissionEvents(0);
141 for(
G4long i = 0; i < NumberOfFissions; i++)
149 FissionEvents.push_back(NULL);
153 return FissionEvents;
253 return (A + Z * 1000) * 10 + M;
272 G4cout <<
" -- Alpha production set to " << AlphaProduction_ <<
G4endl;
294 G4cout <<
" -- Ternary fission probability set to " << TernaryProbability_ <<
G4endl;
309 if(!IsSameCause && IsValidCause)
325 CauseString =
"SPONTANEOUS";
328 CauseString =
"NEUTRON_INDUCED";
331 CauseString =
"PROTON_INDUCED";
334 CauseString =
"GAMMA_INDUCED";
347 G4cout <<
" -- Already set to use " << CauseString <<
" as the fission cause. Yield data class will not be reconstructed." <<
G4endl;
350 G4cout <<
" -- Yield data class not yet constructed. " << CauseString <<
" will be applied when it is constructed." <<
G4endl;
364 G4cout <<
" -- Fission cause set to " << CauseString <<
"." <<
G4endl;
387 std::ostringstream EnergyString;
410 G4cout <<
" -- Cannot set a non-zero energy for spontaneous fission" <<
G4endl;
416 G4cout <<
" -- Yield data class not yet constructed. " << EnergyString.str() <<
" will be applied when it is constructed." <<
G4endl;
427 G4cout <<
" -- Incident neutron energy set to " << EnergyString.str() <<
"." <<
G4endl;
456 G4cout <<
" -- Isotope " <<
Isotope_ <<
" already in use. Yield data class will not be reconstructed." <<
G4endl;
462 G4cout <<
" -- Yield data class not yet constructed. The isotope will be set to " <<
Isotope_ <<
" when it is constructed." <<
G4endl;
483 G4bool IsValidMetaState = (WhichMetaState >= G4FFGEnumerations::MetaStateFirst
484 && WhichMetaState <= G4FFGEnumerations::MetaStateLast);
487 if(!IsSameMetaState && IsValidMetaState)
499 MetaName =
"GROUND_STATE";
516 std::ostringstream Temp;
521 G4cout <<
" -- Already set to use " << MetaName <<
" as the metastable state. Yield data class will not be reconstructed" <<
G4endl;
524 G4cout <<
" -- Yield data class not yet constructed. " << MetaName <<
" will be applied when it is constructed." <<
G4endl;
538 G4cout <<
" -- Metastable state set to " << MetaName <<
"." <<
G4endl;
550 G4bool IsValidScheme = (NewScheme >= G4FFGEnumerations::FissionSamplingSchemeFirst
551 && NewScheme <= G4FFGEnumerations::FissionSamplingSchemeLast);
552 G4bool IsSameScheme = (NewScheme == SamplingScheme_);
554 if(!IsSameScheme && IsValidScheme)
556 SamplingScheme_ = NewScheme;
557 IsReconstructionNeeded_ =
TRUE;
563 switch(SamplingScheme_)
566 SchemeString =
"NORMAL";
570 SchemeString =
"LIGHT_FRAGMENT";
574 SchemeString =
"UNSUPPORTED";
585 if(IsSameScheme && YieldData_ != NULL)
587 G4cout <<
" -- Already set to use " << SchemeString <<
" as the sampling scheme. Yield data class will not be reconstructed." <<
G4endl;
588 }
else if(YieldData_ == NULL)
590 G4cout <<
" -- Yield data class not yet constructed. " << SchemeString <<
" will be applied when it is constructed." <<
G4endl;
604 G4cout <<
" -- Sampling scheme set to " << SchemeString <<
"." <<
G4endl;
620 if(!IsSameYieldType && IsValidYieldType)
632 YieldString =
"INDEPENDENT";
636 YieldString =
"SPONTANEOUS";
640 YieldString =
"UNSUPPORTED";
656 G4cout <<
" -- Yield data class not yet constructed. Yield type " << YieldString <<
" will be applied when it is constructed." <<
G4endl;
670 G4cout <<
" -- Yield type set to " << YieldString <<
G4endl;
706 G4cout <<
" -- Old yield data class deleted." <<
G4endl;
741 G4cout <<
" -- Yield data class constructed with defined values." <<
G4endl;
743 }
catch (std::exception& e)
G4FFGEnumerations::MetaState MetaState_
G4DynamicParticleVector * G4GenerateFission(const G4HadProjectile &Projectile)
G4bool IsReconstructionNeeded_
void G4SetSamplingScheme(G4FFGEnumerations::FissionSamplingScheme NewScheme)
CLHEP::Hep3Vector G4ThreeVector
void G4SetTernaryProbability(G4double TernaryProbability)
G4FFGEnumerations::MetaState G4GetMetaState(void)
void G4SetYieldType(G4FFGEnumerations::YieldType WhichYieldType)
void G4SetMetaState(G4FFGEnumerations::MetaState WhichMetaState)
G4DynamicParticleVector * G4GenerateFission(void)
G4DynamicParticleVector * G4GetFission(void)
G4FissionProductYieldDist * YieldData_
void G4SetAlphaProduction(G4double WhatAlphaProduction)
void G4SetVerbosity(G4int WhatVerbosity)
static G4int G4MakeIsotopeCode(G4int Z, G4int A, G4int M)
void G4SetVerbosity(G4int WhatVerbosity)
G4Ions * G4GenerateFissionProduct(void)
bool InitializeFissionProductYieldClass(std::istringstream &dataFile)
G4GLOB_DLL std::ostream G4cout
G4double TernaryProbability_
const G4ParticleDefinition * GetDefinition() const
std::vector< G4DynamicParticle * > G4DynamicParticleVector
void G4SetIsotope(G4int WhichIsotope)
void G4SetEnergy(G4double WhatIncidentEnergy)
G4FFGEnumerations::YieldType YieldType_
static G4Neutron * Neutron()
G4FFGEnumerations::YieldType G4GetYieldType(void)
void G4SetAlphaProduction(G4double WhatAlphaProduction)
void G4SetCause(G4FFGEnumerations::FissionCause WhichCause)
G4double AlphaProduction_
void G4SetIncidentEnergy(G4double WhatIncidentEnergy)
G4FFGEnumerations::FissionSamplingScheme SamplingScheme_
#define G4FFG_FUNCTIONLEAVE__
G4FFGEnumerations::FissionCause G4GetCause(void)
G4double G4GetIncidentEnergy(void)
G4double G4GetTernaryProbability(void)
void G4SetTernaryProbability(G4double WhatTernaryProbability)
G4FFGEnumerations::FissionSamplingScheme G4GetSamplingScheme(void)
G4Ions * G4GetFissionProduct(void)
#define G4FFG_FUNCTIONENTER__
G4double G4GetAlphaProduction(void)
G4FissionFragmentGenerator(void)
G4FFGEnumerations::FissionCause Cause_
~G4FissionFragmentGenerator()