![]() |
Project
|
#include <VecGeomG4PropagatingNavigator.h>
Inherits o2::simsetup::VecGeomG4NavigatorBase.
Public Member Functions | |
| VecGeomG4PropagatingNavigator (VecGeomG4Map const &map, bool zeroSafety) | |
| ~VecGeomG4PropagatingNavigator () override | |
| G4double | ComputeStep (const G4ThreeVector &globalPoint, const G4ThreeVector &direction, const G4double proposedStepLength, G4double &newSafety) override |
| G4VPhysicalVolume * | ResetHierarchyAndLocate (const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &history) override |
| G4VPhysicalVolume * | LocateGlobalPointAndSetup (const G4ThreeVector &point, const G4ThreeVector *direction=nullptr, const G4bool relativeSearch=true, const G4bool ignoreDirection=true) override |
| void | LocateGlobalPointWithinVolume (const G4ThreeVector &position) override |
| G4double | ComputeSafety (const G4ThreeVector &globalPoint, const G4double proposedMaxLength=DBL_MAX, const G4bool keepState=true) override |
| G4ThreeVector | GetLocalExitNormal (G4bool *valid) override |
| G4ThreeVector | GetGlobalExitNormal (const G4ThreeVector &point, G4bool *valid) override |
Additional Inherited Members | |
Protected Types inherited from o2::simsetup::VecGeomG4NavigatorBase | |
| using | V3 = vecgeom::Vector3D< double > |
Protected Member Functions inherited from o2::simsetup::VecGeomG4NavigatorBase | |
| VecGeomG4NavigatorBase (VecGeomG4Map const &map) | |
| G4VPhysicalVolume * | historyFromState (vecgeom::NavigationState const &state) |
| bool | stateFromHistory (vecgeom::NavigationState &state) const |
Static Protected Member Functions inherited from o2::simsetup::VecGeomG4NavigatorBase | |
| static V3 | toVG (const G4ThreeVector &p) |
| static V3 | toDir (const G4ThreeVector &d) |
| static double | boundedSafety (vecgeom::NavigationState const &state, const G4ThreeVector &point, double limit) |
| static bool | directionLeaves (const V3 &n, const V3 &dir) |
| static bool | directionLeaves (vecgeom::NavigationState const &exited, const V3 &point, const V3 &dir) |
| The same, with the normal taken from exited, which has the volume left on top. | |
Protected Attributes inherited from o2::simsetup::VecGeomG4NavigatorBase | |
| VecGeomG4Map const & | mMap |
Static Protected Attributes inherited from o2::simsetup::VecGeomG4NavigatorBase | |
| static constexpr double | kG4ToVG = 1. / CLHEP::cm |
| static constexpr double | kVGToG4 = CLHEP::cm |
A lighter VecGeom navigator for Geant4, selected with G4.vecgeomNavigator=kPropagated. ComputeStep uses VecGeom's combined step-and-relocate, and a boundary locate adopts the state that step propagated instead of locating again. Safety is zero for the whole step after a crossing, a stuck step is nudged forward, and the exit normal follows the direction of motion. It does less work per step and per crossing than VecGeomG4Navigator.
Definition at line 25 of file VecGeomG4PropagatingNavigator.h.
| o2::simsetup::VecGeomG4PropagatingNavigator::VecGeomG4PropagatingNavigator | ( | VecGeomG4Map const & | map, |
| bool | zeroSafety | ||
| ) |
Definition at line 40 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 46 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 196 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 52 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 216 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 245 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 146 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 184 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 126 of file VecGeomG4PropagatingNavigator.cxx.