![]() |
Project
|
Classes | |
| class | VecGeomG4Map |
| class | VecGeomG4Navigator |
| class | VecGeomG4NavigatorBase |
| class | VecGeomG4PropagatingNavigator |
Functions | |
| bool | isVecGeomNavigationAvailable () |
| void | installVecGeomNavigator () |
| std::size_t | checkVecGeomLocation (std::size_t samples) |
| std::size_t | checkVecGeomVolume (const char *name, std::size_t perPlacement, std::size_t maxPlacements) |
| void | checkVecGeomRays (std::size_t rays) |
| std::size_t o2::simsetup::checkVecGeomLocation | ( | std::size_t | samples | ) |
Samples random points in the world and compares the volume TGeo locates them in with the volume VecGeom locates them in, which tests the conversion and the level locators on their own, with no Geant4 and no stepping involved. Returns the number of disagreements.
Definition at line 43 of file VecGeomChecks.cxx.
| void o2::simsetup::checkVecGeomRays | ( | std::size_t | rays | ) |
Shoots rays from the interaction point and steps them to the world edge with TGeo and with VecGeom, comparing how often each engine reports being in each volume. Stepping is what a containment scan cannot test, and a volume a ray never enters is invisible to a hit count.
Definition at line 185 of file VecGeomChecks.cxx.
| std::size_t o2::simsetup::checkVecGeomVolume | ( | const char * | name, |
| std::size_t | perPlacement, | ||
| std::size_t | maxPlacements | ||
| ) |
The same comparison, but sampling inside the placements of one named volume rather than over the world. A thin sensitive volume is never sampled often enough by a scan over the world, so this is what tells you whether such a volume is located correctly.
Definition at line 83 of file VecGeomChecks.cxx.
| void o2::simsetup::installVecGeomNavigator | ( | ) |
Replaces Geant4's tracking navigator by one that answers every navigation query from VecGeom. The Geant4 geometry, its materials and the touchable the scoring code reads stay the ones g4root built from TGeo, so only navigation changes.
Call after the TGeant4 engine has been constructed: the Geant4 hierarchy this needs to map onto is built while TG4RunManager configures itself. Aborts if the backend is missing.
Definition at line 136 of file VecGeomNavigation.cxx.
| bool o2::simsetup::isVecGeomNavigationAvailable | ( | ) |
Whether this build of O2 has the VecGeom navigation backend, i.e. whether TGeo2VecGeom and a VecGeom with BVHNavigatorV were found when O2 was configured.
Definition at line 134 of file VecGeomNavigation.cxx.