70 std::map<const G4int, G4FissionFragmentGenerator*>::iterator fissionGenerator;
73 for (
unsigned int M = 0;
M < 10; ++
M) {
75 fissionGenerator = fissionIsotopes.find(isotope);
77 if (fissionGenerator != fissionIsotopes.end()) {
79 if (fissionGenerator->second !=
nullptr) {
80 finalParticles = fissionGenerator->second->G4GenerateFission(projectile);
87 if (finalParticles !=
nullptr) {
90 for (
auto& finalParticle : *finalParticles) {
91 finalState->AddSecondary(finalParticle, secID);
110 std::pair<std::map<const G4int, G4FissionFragmentGenerator*>::iterator,
bool> newIsotope;
116 if (newIsotope.second || newIsotope.first->second == NULL) {
125 std::istringstream dataStream(std::ios::in);
145 newIsotope.first->second = fissionGenerator;
164 fissionGenerator->G4SetIsotope(isotope);
165 fissionGenerator->G4SetMetaState(metaState);
168 fissionGenerator->G4SetIncidentEnergy(G4FFGDefaultValues::ThermalNeutronEnergy);
176 if (!fissionGenerator->InitializeFissionProductYieldClass(dataStream)) {
178 delete fissionGenerator;
180 fissionIsotopes.erase(newIsotope.first);
std::vector< G4DynamicParticle * > G4DynamicParticleVector
void GetDataStream(const G4String &, std::istringstream &iss)
static G4ParticleHPManager * GetInstance()
G4ParticleHPDataUsed GetName(G4int A, G4int Z, const G4String &base, const G4String &rest, G4bool &active)