| Summary: | Aborted Events with some EM Options | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Simon Spannagel <simon.spannagel> |
| Component: | physics_lists | Assignee: | Vladimir.Ivantchenko |
| Status: | RESOLVED FIXED | ||
| Severity: | minor | CC: | simon.spannagel, Vladimir.Ivantchenko |
| Priority: | P4 | ||
| Version: | 10.7 | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: | https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2542 | ||
|
Description
Simon Spannagel
2021-03-31 17:13:45 CEST
Dear developers,
I have an addendum to this ticket, which is a bit tricky. I have users that came across Geant4 "hanging" at a single event. Investigating this in detail I found that what indeed happens is that we have the same problem as described above:
G4ParticleChange::CheckIt : the local time goes back !! Difference: 0.00024951870999317[ns]
e- E=0.00013508734175593 pos=0.00058141013010289, 0.00087916515918243, 0.15112251661936 global time=0.59230209636989 local time=0.02519550972273 proper time=0.024802160351758
G4ParticleChange::CheckIt : the proper time goes back !! Difference: 0.0002494527648214[ns]
e- E=0.00013508734175593 pos=0.00058141013010289, 0.00087916515918243, 0.15112251661936 global time=0.59230209636989 local time=0.02519550972273 proper time=0.024802160351758
However, this time the negative time step is just 0.0002 ns, which is below the hardcoded accuracyForException on G4VParticleChange of 0.001 ns - hence, no exception is thrown, the event is *not* aborted and Geant4 keeps tracking these particles back in time forever:
-----------------------------------------------
G4ParticleChange Information
-----------------------------------------------
# of 2ndaries : 0
-----------------------------------------------
Energy Deposit (MeV): 0
Non-ionizing Energy Deposit (MeV): 0
Track Status : Alive
True Path Length (mm) : -0.00172
Stepping Control : 0
Mass (GeV) : 0
Charge (eplus) : 0
MagneticMoment : 0
: = 0*[e hbar]/[2 m]
Position - x (mm) : 0.581
Position - y (mm) : 0.879
Position - z (mm) : 151
Time (ns) : 0.0249
Proper Time (ns) : 0.0246
Momentum Direct - x : 0.78
Momentum Direct - y : 0.0756
Momentum Direct - z : 0.621
Kinetic Energy (MeV): 0.000135
Velocity (/c): 0.023
Polarization - x : 0
Polarization - y : 0
Polarization - z : 0
Touchable (pointer) : 0x27ba1428
This has been reported (and reproduced by me) with the standard physics list QGSP_BERT, but according to user feedback, other lists were affected as well.
For reference, the Geant4 10.7.2 event seeds for the above event were 7141275251643714399 413337079437031338.
Right now, I don't see any way of preventing this endless loop in the code - could you maybe help me out here or let me know what other information you need to debug this?
Best regards,
Simon
Hello, For Geant4 11.1 a review of G4ParticleChange classes was done. Codes were modernized and the set of G4Exception issued by these classes was updated. There is no more "Event Must Be Aborted" statements, instead the information about incorrect energy, momentum, or time is printed out. It is not possible to backport these modifications to previous releases, because this concern of too many kernel classes. This problem report will be closed but if a new problem will appear, then a new report should be opened. VI |