I have a Geant4 code that implements 1 of 3 different geometries based on a command line flag. When I set the visualization driver to RayTracer and build a DICOM geometry (which does not use a parallel world), it works fine. However, when I build either of the other two geometries (which implement a parallel world), I get a huge amount of the following warning reported by every thread: *** G4Exception : GeomNav0003 issued by : G4Navigator::GetLocalExitNormal() Function called when *NOT* at a Boundary. Exit Normal not calculated. *** This is just a warning message. *** It seems likely that the RayTracer is reporting this at the parallel world boundaries. This is not the primary issue though. The problem is that there seems to be a memory leak because the amount of memory rapidly increases and eventually a std::bad_alloc exception is thrown on a system with 24 GB of RAM and 24 GB of swap.
Hi Jonathan, RayTracer does not support parallel world yet. It's on my ToDo list for this year. Let me keep this bug report as "assigned" for my own reminder. Makoto
Hi Jonathan, With rayTracer-V10-04-00 tag on top of version 10.4-p01 works for parallel world. It will also be included in the next public release. To use this, please keep the following in your mind. - add a vis command "/vis/drawVolume worlds" (don't forget the final 's') after "vis/open RayTracer". - RayTracer visualizes a volume in a parallel world only if it has a valid material and "layered mass geometry" option is on. Concerning about the memory growth, I presume you use Qt or some other GUI. Given there were too many warning message printouts, string buffer overflowed and caused the crash. With this patch, there won't be such warning message. Regards, Makoto