![]() |
Project
|
#include <VecGeomG4NavigatorBase.h>
Inherits G4Navigator.
Inherited by o2::simsetup::VecGeomG4Navigator, and o2::simsetup::VecGeomG4PropagatingNavigator.
Protected Types | |
| using | V3 = vecgeom::Vector3D< double > |
Protected Member Functions | |
| VecGeomG4NavigatorBase (VecGeomG4Map const &map) | |
| G4VPhysicalVolume * | historyFromState (vecgeom::NavigationState const &state) |
| bool | stateFromHistory (vecgeom::NavigationState &state) const |
Static Protected Member Functions | |
| 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 | |
| VecGeomG4Map const & | mMap |
Static Protected Attributes | |
| static constexpr double | kG4ToVG = 1. / CLHEP::cm |
| static constexpr double | kVGToG4 = CLHEP::cm |
What the two VecGeom navigators share: the correspondence between a VecGeom navigation state and the Geant4 navigation history, which is the touchable the scoring code reads, and the unit conversion. Geant4 works in millimetres, the VecGeom geometry is converted from TGeo in centimetres; every point crossing this boundary is scaled, directions are not.
Definition at line 33 of file VecGeomG4NavigatorBase.h.
|
protected |
Definition at line 36 of file VecGeomG4NavigatorBase.h.
|
inlineexplicitprotected |
Definition at line 40 of file VecGeomG4NavigatorBase.h.
|
inlinestaticprotected |
Geant4's rule for the volume a track just left (G4NormalNavigation, G4VoxelNavigation): it is blocked only while the direction points away from it, along its outward normal n (global).
Definition at line 55 of file VecGeomG4NavigatorBase.h.
|
inlinestaticprotected |
The same, with the normal taken from exited, which has the volume left on top.
Definition at line 62 of file VecGeomG4NavigatorBase.h.
|
protected |
Rewrites fHistory to stand for state, keeping the levels it already has right. Returns the top volume, or null if the state is outside the world.
Definition at line 31 of file VecGeomG4NavigatorBase.cxx.
|
protected |
Builds state from fHistory, extending past the Geant4 levels assembly flattening dissolved. False if a level matches no VecGeom placement; state is then empty.
Definition at line 83 of file VecGeomG4NavigatorBase.cxx.
|
inlinestaticprotected |
Definition at line 43 of file VecGeomG4NavigatorBase.h.
|
inlinestaticprotected |
Definition at line 42 of file VecGeomG4NavigatorBase.h.
|
staticconstexprprotected |
Definition at line 37 of file VecGeomG4NavigatorBase.h.
|
staticconstexprprotected |
Definition at line 38 of file VecGeomG4NavigatorBase.h.
|
protected |
Definition at line 78 of file VecGeomG4NavigatorBase.h.