Problem 185

Summary: Infinite loop due to G4BREPSolidPolyhedra
Product: Geant4 Reporter: tyoshiko
Component: geometry/solidsAssignee: Radovan.Chytracek
Status: RESOLVED FIXED    
Severity: normal CC: Gabriele.Cosmo
Priority: P2    
Version: other   
Hardware: PC   
OS: Linux   
URL: http://alpha.sci.osaka-cu.ac.jp/~tyoshiko/N01_test.tar.gz

Description tyoshiko 2001-01-04 03:01:37 CET
I found that a Geant4 (4.3.0) program sometimes enters an infinite loop when a
gamma ray (or a geantino) is injected into the boundary of G4BREPSolidPolyhedras
adjacent to each other parallel to the boundary plane. It just repeats
transportations between the two G4BREPSolidPolyhedras with 0 step lengths. An
example modified from N01 can be downloaded from the provided URL. I also tried
the same test replacing the G4BREPSolidPolyhedras by G4Boxes and had no problem
with G4Boxes.
Comment 1 Gabriele Cosmo 2001-01-09 01:33:59 CET
Thanks for the report.
The problem is under investigation.
Comment 2 Gabriele Cosmo 2001-01-25 10:45:59 CET
Radovan is going to investigate on this.
Comment 3 Radovan.Chytracek 2001-05-09 10:58:59 CEST
Fix commited into CVS HEAD, description follows:

revision 1.2
date: 2001/05/09 15:52:31;  author: radoone;  state: Exp;  lines: +44 -23
Fixed problem reported in Bugzilla with No. 185
Added the additional check in CheckPointOnSurface method which helps to resolve
endless looping of G4Navigator in case the track is passing through a point,
edge or surface shared by two solids.
This problem occured when G4Navigator was trying to transport a particle when
exiting a solid.
After this fix the transportation will perform a few zero steps and continues
stepping instead of looping around the same point.

Radovan Chytracek
Comment 4 Radovan.Chytracek 2001-05-28 10:49:59 CEST
Resolved
Comment 5 Radovan.Chytracek 2001-05-28 10:51:59 CEST
Fixed