-
Notifications
You must be signed in to change notification settings - Fork 44
Description
When implementing a trivial boundary crossing, the step counters in optical::PrimaryGenerator tests fail based on the build configuration. Vecgeom + g4 for versions above 11.0 will have slightly less steps than other configurations.
I've isolated some of the behaviors in #2038 so it's not related to the VecGeom normals, volumetric physics, or the current surface physics implementations. The discrepancy seems to be dependent on the number of primaries. Around 12000 and less tracks, the discrepancy disappears, but it returns for above around 14000 tracks.
Notably this uses the lar-sphere geometry, which has the following volumes:
- world volume (vacuum)
- detector shell (vacuum; sphere shell surrounding the other spheres)
- detector shell top (LAr; semi-spherical shell that's an SD region)
- detector shell bot (LAr; semi-spherical shell that's an SD region)
- LAr sphere (LAr; uniform sphere inside all the other shells)
Photon primaries are generated isotropically in the center of the interior sphere. They are perfectly transmitted across boundaries but are killed if the post volume is not an optical material. In this case they transmit between volumes 3,4, and 5, and are killed upon reaching volume 2.