Proton scattering wont happen before a threshold length scale

I encountered this problem while trying to look at scattering of proton pencil beam of 1 mm diameter, under various vacuum conditions. This is just the mother volume at 1 mBar air density as shown in fig(a).

When I vary the dimensions of the mother volume, with proton traversing 300 mm in this system shows scattering as expected [fig(b)]. But when I reduce the dimensions such that the traversed distance is 280 mm, there is no scattering [fig(c)] even though the scattering should happen right at the source as can be seen in the fig(b). It seems to me that Geant4 doesn’t care to simulate the scattering of protons if the traversed distance is smaller than a threshold length, for a given density of the system and energy of protons. I picked up Hadr01 from examples and found a similar length scale associated while simulating scattering of protons. I want to simulate scattering for a smaller length scale around 250 mm with same vacuum conditions. Can anyone suggest me how to solve this issue ?


how many events you tested?


This is for 100k events.

I found a trick to solve this issue. Seems like Geant4 can be forced to calculate the cross-section when making a transition from one volume to another.

The moment I enclose the source in a small volume with essentially the same density as that of the mother volume [fig(b)], the behavior becomes as expected even for lower length scales. Surprisingly their is no such problem with electrons and found only to be associated with ions. May be its a bug that needs to be fixed. This is my understanding but will be helpful if someone can comment on my observation.