Skip to content

Move Smartless settings to new SmartlessnessTool

Background: Geant4 tracking is optimised by dividing the geometry into "voxels" and checking in which voxel the track is, instead of in which real volume. Geant4 does the tracking in two steps: first finding the voxel the particle is in, then checking which real volume inside the voxel contains the particle. The size of the voxels can be modified by varying the so-called "smartless" parameter associated with a G4LogicalVolume. Decreasing the smartless parameter increases the number of voxels. On the other hand, making the voxels too big means that there are a large number of real volumes to check inside each voxel, so Geant4 may need more time to perform this two-step tracking.

Previously the smartless settings were either hard-coded inside the various ATLAS G4RunManager implementations or configurable properties of G4AtlasAlg or G4TransportTool (ISF). The new SmartlessnessTool collects all this configuration together in one place to avoid repeated code.

Local tests showed no change in output in Serial and MT Athena tests.

FYI @bwynne

Merge request reports