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