Skip to content

Optimize vecgeom usage #2111

@sethrj

Description

@sethrj

The new vecgeom 2 solid navigator in #1720 is 3–5⨉ slower than v1.0 because it does a full relocation at each distance calculation, and those relocations are discarded most of the time during tracking and especially during field propagation. There are still inconsistencies with bounding boxes and surface crossings. Additionally the Celeritas field propagation approach is different than that in VecGeom/Geant4 since we converge with direct distance calculations rather than use the safety distance as we approach a boundary.

The vecgeom state is also odd, because the "NavState" objects have two internal states, one of which is pretty much unused (and essentially inaccessible in vecgeom 1) in addition to a boundary state. Ideally we would only store and use one state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    geometryGeometry-related features (geocel)performanceChanges for performance optimization

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions