| Summary: | Infinite loop in G4CompetitiveFission::FissionCharge due to typo | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | marcus.h.mendenhall |
| Component: | processes/hadronic/models/de_excitation/fission | Assignee: | dennis.herbert.wright |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | asai, robert.a.weller |
| Priority: | P5 | ||
| Version: | 9.1 | ||
| Hardware: | All | ||
| OS: | All | ||
Bug fixed and included in 9.2 release. |
We ran across infinite looping in G4CompetitiveFission::FissionCharge, and traced it to the following: lines 342-344 currently are: if (Af >= 134.0) DeltaZ = -0.45; // 134 <= Af else if (A <= (A-134.0)) DeltaZ = 0.45; // Af <= (A-134) else DeltaZ = -0.45*(Af-(A/2.0))/(134.0-(A/2.0)); // (A-134) < Af < 134 but, as one can see from the logic and comment, line 343 should be: else if (Af <= (A-134.0)) DeltaZ = 0.45; // Af <= (A-134) This results in crazy parameters in the test in the lines below this which are trying to generate a gaussian within specific bounds, based on the impossible parameters.