Import Geant4 11.2.1 source tree
This commit is contained in:
@@ -164,8 +164,11 @@ void G4ParticleHPFFFissionFS::GetAFissionFragment(G4double energy, G4int& fragZ,
|
||||
G4double rand = G4UniformRand();
|
||||
// G4cout << rand << G4endl;
|
||||
|
||||
std::map<G4double, std::map<G4int, G4double>*>* mEnergyFSPData =
|
||||
FissionProductYieldData.find(454)->second;
|
||||
auto ptr = FissionProductYieldData.find(454);
|
||||
if (ptr == FissionProductYieldData.end())
|
||||
return;
|
||||
|
||||
auto mEnergyFSPData = ptr->second;
|
||||
|
||||
// It is not clear that the treatment of the scheme 2 on two-dimensional interpolation.
|
||||
// So, here just use the closest energy point array of yield data.
|
||||
|
||||
@@ -108,8 +108,9 @@ G4DynamicParticleVector* G4ParticleHPFSFissionFS::ApplyYourself(G4int nPrompt, G
|
||||
G4double eKinetic = boosted.GetKineticEnergy();
|
||||
|
||||
// Build neutrons
|
||||
auto theNeutrons = new G4ReactionProduct[nPrompt + nDelayed];
|
||||
std::vector<G4ReactionProduct> theNeutrons;
|
||||
for (i = 0; i < nPrompt + nDelayed; ++i) {
|
||||
theNeutrons.emplace_back();
|
||||
theNeutrons[i].SetDefinition(G4Neutron::Neutron());
|
||||
}
|
||||
|
||||
@@ -140,8 +141,6 @@ G4DynamicParticleVector* G4ParticleHPFSFissionFS::ApplyYourself(G4int nPrompt, G
|
||||
dp->SetMomentum(theNeutrons[i].GetMomentum());
|
||||
aResult->push_back(dp);
|
||||
}
|
||||
delete[] theNeutrons;
|
||||
|
||||
return aResult;
|
||||
}
|
||||
|
||||
|
||||
@@ -108,8 +108,9 @@ G4DynamicParticleVector* G4ParticleHPFissionBaseFS::ApplyYourself(G4int nPrompt)
|
||||
G4double eKinetic = boosted.GetKineticEnergy();
|
||||
|
||||
// Build neutrons
|
||||
auto theNeutrons = new G4ReactionProduct[nPrompt];
|
||||
std::vector<G4ReactionProduct> theNeutrons;
|
||||
for (i = 0; i < nPrompt; i++) {
|
||||
theNeutrons.emplace_back();
|
||||
theNeutrons[i].SetDefinition(G4Neutron::Neutron());
|
||||
}
|
||||
|
||||
@@ -132,7 +133,6 @@ G4DynamicParticleVector* G4ParticleHPFissionBaseFS::ApplyYourself(G4int nPrompt)
|
||||
it->SetMomentum(theNeutrons[i].GetMomentum());
|
||||
aResult->push_back(it);
|
||||
}
|
||||
delete[] theNeutrons;
|
||||
|
||||
// return the result
|
||||
return aResult;
|
||||
|
||||
@@ -251,6 +251,7 @@ G4HadFinalState* G4ParticleHPFissionFS::ApplyYourself(const G4HadProjectile& the
|
||||
G4int fragA_M = 0;
|
||||
// System is traget rest!
|
||||
theFF.GetAFissionFragment(eKinetic, fragA_Z, fragA_A, fragA_M);
|
||||
if (0 == fragA_A) { return theResult.Get(); }
|
||||
G4int fragB_Z = (G4int)theBaseZ - fragA_Z;
|
||||
G4int fragB_A = (G4int)theBaseA - fragA_A - Prompt;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user