I am writing a program to describe an array of segmented germanium detectors. The "physical" detectors are generated as unsegmented and the actual segment number is obtained using a readout geometry. I noticed that often an interaction point is assigned to the wrong segment, or that it is assigned to a segment even if it is clearly outside all of them. I have checked with a very simple program (which I can give to anyone who would like to check) that there is the same problem even with a very simple physical/readout geometry. Most of these points with mistake are quite far from the segment border (a few mm, which should be far larger than the tolerances). With the test program, I have used versions 4.5.2.p02 and 4.6.0
Additional information is being requested.
The user examined the readout volume with the position of PostStepPoint. G4TouchableHistory of ReadOutGeometry corresponds to the position of PreStepPoint. Given readout geometry is a virtual and artificial geometry which does not affect to the Geant4 tracking, boudary of readout geometry does not limit a step. Thus, PostStepPoint may not belong to the volume of readout geometry where PreStepPoint belongs to.