Skip to content

Draft: G4VecGeomConverter fixes to unsafe code (size of G4VSolid), added methods

G4VecGeomConverter fixes to unsafe code (size of G4VSolid), added methods

  • TrapParametersGetOriginalThetaAndPhi:
    • Corrected offset in G4Trap class (interim solution.)
    • used std::atan2 instead of atan
  • Code to check the capacity of created VecGeom solids against original Geant4 ( under #ifdef CHECK_CAPACITY ) - as a sanity check of created volumes
  • Multiple solid types have 'beta' version code, some with // #ifdef TRIAL_type

GenericPlacedVolume: Updated to revised VecGeom interface

  • Removed 'step' from DistanceToOut
  • Removed MyTrap class, used to obtain TanTheta C/S phi.
  • Removed 'override' from ConvertToRoot() method to cope with 'VECGEOM_ROOT=OFF' (generates warning if ON).

VecGeomG4Solid:

  • Made explicit the constructor taking (templated S-type) const solid pointer.
  • Removed 'step' from DistanceToOut
  • Implemented method for DistanceToOut that returns normal.
  • Changed Print() method to use G4VSolid's streamInfo method.

TG4VecGeomIncNavigator: replace compute step, not safety.

G4VecGeomConverter: deleted 2nd implementation of Polyhedra conversion (error.)

G4VecGeomVoxelNavigation

  • pass non-negative step to g4, extra checking code
  • Added CompareNavigators method that calls different navigators in turn, and reports their results ( NewSimpleNavigator, SimpleABBoxNavigator, HybridNavigator2 )
  • ComputeStep:
    • extra prints in case of motherStep < 0
    • ensure step size (current-best-step) is always >= 0 and report information in case it is < 0

Replaced use of derived MYG4VP class with direct use of G4 method GetInstanceID in multiple classes: TG4VecGeomIncNavigator, TG4VecGeomDetectorConstruction, TG4VecGeomnavigator, TG4RootVecGeomIncNavigator, G4VecGeomVoxelNavigation

Merge request reports