Skip to content

Step counter inconsistency in optical::PrimaryGenerator tests #2041

@hhollenb

Description

@hhollenb

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:

  1. world volume (vacuum)
  2. detector shell (vacuum; sphere shell surrounding the other spheres)
  3. detector shell top (LAr; semi-spherical shell that's an SD region)
  4. detector shell bot (LAr; semi-spherical shell that's an SD region)
  5. 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.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingphysicsParticles, processes, and stepping algorithms

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions