Hi Luis,
I attached your macro with some fixes/comments. The starting point is on the boundary between 2 division “voxels”, so the first step may depend on what the navigator decides it is the starting node. You should not use FindNextDaughterBoundary() since this is looking just inside the current volume (it is an utility that should become protected). When using FindNextBoundaryAndStep() (the method that you should use) you do not have to propagate the point using Step() since this is done automatically. The Step() method tries just blindly to cross the boundary by adding an extra step of 1E-6.
See the comments in the code.
The output of your macro looks now like below, which is correct.
Let me know if you have more problems.
Cheers,
[size=75]===========> Event: 0
Start: sliceZ_25
On boundary fStep = 1e-10 NodeID = sliceZ_26 Next point = (0, 0, 1e-10)
On boundary fStep = 0.2 NodeID = sliceZ_27 Next point = (0, 0, 0.2)
On boundary fStep = 0.2 NodeID = sliceZ_28 Next point = (0, 0, 0.4)
On boundary fStep = 0.2 NodeID = sliceZ_29 Next point = (0, 0, 0.6)
On boundary fStep = 0.2 NodeID = sliceZ_30 Next point = (0, 0, 0.
On boundary fStep = 0.2 NodeID = sliceZ_31 Next point = (0, 0, 1)
On boundary fStep = 0.2 NodeID = sliceZ_32 Next point = (0, 0, 1.2)
On boundary fStep = 0.2 NodeID = sliceZ_33 Next point = (0, 0, 1.4)
On boundary fStep = 0.2 NodeID = sliceZ_34 Next point = (0, 0, 1.6)
On boundary fStep = 0.2 NodeID = sliceZ_35 Next point = (0, 0, 1.
On boundary fStep = 0.2 NodeID = sliceZ_36 Next point = (0, 0, 2)
On boundary fStep = 0.2 NodeID = sliceZ_37 Next point = (0, 0, 2.2)
On boundary fStep = 0.2 NodeID = sliceZ_38 Next point = (0, 0, 2.4)
On boundary fStep = 0.2 NodeID = sliceZ_39 Next point = (0, 0, 2.6)
On boundary fStep = 0.2 NodeID = sliceZ_40 Next point = (0, 0, 2.
On boundary fStep = 0.2 NodeID = sliceZ_41 Next point = (0, 0, 3)
On boundary fStep = 0.2 NodeID = sliceZ_42 Next point = (0, 0, 3.2)
On boundary fStep = 0.2 NodeID = sliceZ_43 Next point = (0, 0, 3.4)
On boundary fStep = 0.2 NodeID = sliceZ_44 Next point = (0, 0, 3.6)
On boundary fStep = 0.2 NodeID = sliceZ_45 Next point = (0, 0, 3.
On boundary fStep = 0.2 NodeID = sliceZ_46 Next point = (0, 0, 4)
On boundary fStep = 0.2 NodeID = sliceZ_47 Next point = (0, 0, 4.2)
On boundary fStep = 0.2 NodeID = sliceZ_48 Next point = (0, 0, 4.4)
On boundary fStep = 0.2 NodeID = sliceZ_49 Next point = (0, 0, 4.6)
On boundary fStep = 0.2 NodeID = sliceZ_50 Next point = (0, 0, 4.
On boundary fStep = 0.2 NodeID = world_1 Next point = (0, 0, 5)
SafeDistance = 0 fStep = 0.5 NodeID = world_1 Next point = (0, 0, 5.5)
SafeDistance = 0.5 fStep = 0.5 NodeID = world_1 Next point = (0, 0, 6)
SafeDistance = 1 fStep = 0.5 NodeID = world_1 Next point = (0, 0, 6.5)
SafeDistance = 1.5 fStep = 0.5 NodeID = world_1 Next point = (0, 0, 7)
SafeDistance = 2 fStep = 0.5 NodeID = world_1 Next point = (0, 0, 7.5)
SafeDistance = 2.5 fStep = 0.5 NodeID = world_1 Next point = (0, 0,
SafeDistance = 2 fStep = 0.5 NodeID = world_1 Next point = (0, 0, 8.5)
SafeDistance = 1.5 fStep = 0.5 NodeID = world_1 Next point = (0, 0, 9)
SafeDistance = 1 fStep = 0.5 NodeID = world_1 Next point = (0, 0, 9.5)
On boundary fStep = 0.5 Next point = (0, 0, 10)
[/size]
geomtracktest.C (3.3 KB)