![]() |
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 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 39 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 45 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 193 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 51 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 206 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 235 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 144 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 181 of file VecGeomG4PropagatingNavigator.cxx.
|
override |
Definition at line 125 of file VecGeomG4PropagatingNavigator.cxx.