Project
Loading...
Searching...
No Matches
o2::simsetup Namespace Reference

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)
 

Function Documentation

◆ checkVecGeomLocation()

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.

◆ checkVecGeomRays()

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.

◆ checkVecGeomVolume()

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.

◆ installVecGeomNavigator()

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.

◆ isVecGeomNavigationAvailable()

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.