![]() |
Project
|
#include <GeometryManager.h>
Inherits TObject.
Classes | |
| struct | MatBudgetExt |
Public Member Functions | |
| ~GeometryManager () override=default | |
| Default destructor. | |
Static Public Member Functions | |
| static void | loadGeometry (std::string_view geomFilePath="", bool applyMisalignment=false, bool preferAlignedFile=true) |
| static bool | isGeometryLoaded () |
| static void | applyMisalignent (bool applyMisalignment=true) |
| static Bool_t | getOriginalMatrix (o2::detectors::DetID detid, int sensid, TGeoHMatrix &m) |
| static Bool_t | getOriginalMatrix (const char *symname, TGeoHMatrix &m) |
| static TGeoHMatrix * | getMatrix (const char *symname) |
| static const char * | getSymbolicName (o2::detectors::DetID detid, int sensid) |
| static TGeoPNEntry * | getPNEntry (o2::detectors::DetID detid, Int_t sensid) |
| static TGeoHMatrix * | getMatrix (o2::detectors::DetID detid, Int_t sensid) |
| static int | getSensID (o2::detectors::DetID detid, int sensid) |
| static bool | applyAlignment (const std::vector< o2::detectors::AlignParam > &algPars) |
| misalign geometry with alignment objects from the array, optionaly check overlaps | |
| static bool | applyAlignment (const std::vector< const std::vector< o2::detectors::AlignParam > * > algPars) |
| static o2::base::MatBudget | meanMaterialBudget (float x0, float y0, float z0, float x1, float y1, float z1, TGeoNavigator *nav=nullptr) |
| static o2::base::MatBudget | meanMaterialBudget (const math_utils::Point3D< float > &start, const math_utils::Point3D< float > &end, TGeoNavigator *nav=nullptr) |
| static o2::base::MatBudget | meanMaterialBudget (const math_utils::Point3D< double > &start, const math_utils::Point3D< double > &end, TGeoNavigator *nav=nullptr) |
| static MatBudgetExt | meanMaterialBudgetExt (float x0, float y0, float z0, float x1, float y1, float z1) |
| static MatBudgetExt | meanMaterialBudgetExt (const math_utils::Point3D< float > &start, const math_utils::Point3D< float > &end) |
| static MatBudgetExt | meanMaterialBudgetExt (const math_utils::Point3D< double > &start, const math_utils::Point3D< double > &end) |
| static constexpr bool | isVecGeomAvailable () |
| static bool | ensureVecGeomWorld () |
| static bool | vecGeomLocate (double x, double y, double z, std::vector< TGeoNode * > &chain) |
Class for interfacing to the geometry; it also builds and manages the look-up tables for fast access to geometry and alignment information for sensitive alignable volumes: 1) the look-up table mapping unique volume ids to TGeoPNEntries. This allows to access directly by means of the unique index the associated symbolic name and original global matrix in addition to the functionality of the physical node associated to a given alignable volume 2) the look-up table of the alignment objects associated to the indexed alignable volumes
Definition at line 56 of file GeometryManager.h.
|
overridedefault |
Default destructor.
|
static |
misalign geometry with alignment objects from the array, optionaly check overlaps
Definition at line 268 of file GeometryManager.cxx.
|
static |
misalign geometry with alignment objects from the array, optionaly check overlaps
misalign geometry with alignment objects from the array, optionaly check overlaps
Definition at line 280 of file GeometryManager.cxx.
Get the global transformation matrix (ideal geometry) for a given alignable volume The alignable volume is identified by 'symname' which has to be either a valid symbolic name, the query being performed after alignment, or a valid volume path if the query is performed before alignment.
< load geometry from file
Definition at line 531 of file GeometryManager.cxx.
|
static |
Builds the VecGeom world from the currently loaded TGeo geometry, once per process, and reports whether a VecGeom navigator is available at all. Unlike isVecGeomAvailable() this is a runtime answer, so a caller outside this library – which does not see the private O2_WITH_VECGEOM define – can still ask.
Definition at line 778 of file GeometryManager.cxx.
|
static |
Definition at line 176 of file GeometryManager.cxx.
|
static |
|
static |
Definition at line 71 of file GeometryManager.cxx.
|
static |
|
static |
Get PN Entry of sensitive volume sensid of detector detid
Definition at line 209 of file GeometryManager.cxx.
|
inlinestatic |
compose combined detector+sensor ID for sensitive volumes
Definition at line 77 of file GeometryManager.h.
|
static |
Get symoblic name of sensitive volume sensid of detector detid
Definition at line 195 of file GeometryManager.cxx.
|
inlinestatic |
Definition at line 63 of file GeometryManager.h.
|
inlinestaticconstexpr |
Whether this build of O2 was configured with the optional VecGeom material-budget backend (i.e. TGeo2VecGeom was found at CMake configure time).
Definition at line 146 of file GeometryManager.h.
|
static |
< load geometry from file When applyMisalignedment == false --> read from unaligned file When preferAlignedFile == true and applyMisalignment == true : Prefer reading from existing aligned file
< load directly from aligned file and apply alignment on top
< load geometry from unaligned file and apply alignment on top
Definition at line 544 of file GeometryManager.cxx.
|
inlinestatic |
Definition at line 116 of file GeometryManager.h.
|
inlinestatic |
Definition at line 112 of file GeometryManager.h.
|
static |
Mean material budget between two points. Pass a navigator owned by the calling thread to run lock-free from several threads; with nav = nullptr the shared navigator is used under a mutex, as before.
Definition at line 431 of file GeometryManager.cxx.
|
inlinestatic |
Definition at line 126 of file GeometryManager.h.
|
inlinestatic |
Definition at line 122 of file GeometryManager.h.
|
static |
Definition at line 335 of file GeometryManager.cxx.
|
static |
The VecGeom navigator's answer for a point: fills chain with the TGeo nodes of the located path, top node first. False when this build has no VecGeom backend or the point lies outside the world. Assemblies are flattened in the VecGeom geometry, so the chain is shorter than the TGeo path through the same point.
Definition at line 789 of file GeometryManager.cxx.