Hi, I model a scattering of gammas by a continuous process. That is, after each step the position of a gamma particle is changed with G4ParticleChange::ProposePosition(). I am doing something wrong because I get an exception:
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomNav1002
issued by : G4PathFinder::ReportMove()
Endpoint moved between value returned by ComputeStep() and call to Locate().
Change of (End) Position / G4PathFinder::Locate is 0.002153166401214529 mm long
and its vector is (0.002067411285977983,-0.000600024605008187,4.366462314919772e-05) mm
Endpoint of ComputeStep() was (-60.37058369815107,1.288026121740885,658.4166693999999)
and current position to locate is (-60.36851628686509,1.287426097135877,658.4167130646231)
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------
The program never finishes. On the other hand, if I set the displacement to zero, the program finishes. I should note that I have a voxelized geometry, so the gamma particle often traverses a volume’s boundary. I suspect that the exception has something to do with a relocation across the boundary, because I didn’t observe the exception when I replaced the voxels with a single block of material.
How can I safely relocate the particle? It is acceptable for me if the particle crosses the boundary during a relocation.