|
ACTS
Experiment-independent tracking
|
The TrackingGeometry class is the owner of the constructed TrackingVolumes. More...
#include <Acts/Geometry/TrackingGeometry.hpp>
Public Types | |
| enum class | GeometryVersion { Gen1 , Gen3 } |
| Which type of geometry this represents: Gen1 or Gen3. More... | |
Public Member Functions | |
| TrackingGeometry (const std::shared_ptr< TrackingVolume > &highestVolume, const IMaterialDecorator *materialDecorator=nullptr, const GeometryIdentifierHook &hook={}, const Logger &logger=getDummyLogger(), bool close=true) | |
| Constructor. | |
| ~TrackingGeometry () | |
| Destructor. | |
| template<typename Callable> requires (detail::callableWithAnyMutable<Callable>() && !detail::callableWithAnyConst<Callable>()) | |
| void | apply (Callable &&callable) |
| Apply an arbitrary callable as a visitor to the tracking volume. | |
| template<typename Callable> requires (detail::callableWithAnyConst<Callable>()) | |
| void | apply (Callable &&callable) const |
| Apply an arbitrary callable as a visitor to the tracking volume. | |
| void | apply (TrackingGeometryMutableVisitor &visitor) |
| Apply a visitor to the tracking volume. | |
| void | apply (TrackingGeometryVisitor &visitor) const |
| Apply a visitor to the tracking volume. | |
| const Layer * | associatedLayer (const GeometryContext &gctx, const Vector3 &gp) const |
| Forward the associated Layer information. | |
| const Surface * | findSurface (GeometryIdentifier id) const |
| Search for a surface with the given identifier. | |
| const TrackingVolume * | findVolume (GeometryIdentifier id) const |
| Search for a volume with the given identifier. | |
| const std::unordered_map< GeometryIdentifier, const Surface * > & | geoIdSurfaceMap () const |
| Access to the GeometryIdentifier - Surface association map. | |
| GeometryVersion | geometryVersion () const |
| Return the generation of this TrackingGeometry. | |
| TrackingVolume * | highestTrackingVolume () |
| Access to the world volume. | |
| const TrackingVolume * | highestTrackingVolume () const |
| Access to the world volume. | |
| std::shared_ptr< const TrackingVolume > | highestTrackingVolumePtr () const |
| Access to the world volume. | |
| const TrackingVolume * | lowestTrackingVolume (const GeometryContext &gctx, const Vector3 &gp) const |
| return the lowest tracking Volume | |
| template<SurfaceVisitor visitor_t> | |
| void | visitSurfaces (visitor_t &&visitor) const |
| Visit all sensitive surfaces. | |
| template<SurfaceVisitor visitor_t> | |
| void | visitSurfaces (visitor_t &&visitor, bool restrictToSensitives) const |
| Visit all reachable surfaces. | |
| template<TrackingVolumeVisitor visitor_t> | |
| void | visitVolumes (visitor_t &&visitor) const |
| Visit all reachable tracking volumes. | |
| void | visualize (IVisualization3D &helper, const GeometryContext &gctx, const ViewConfig &viewConfig=s_viewVolume, const ViewConfig &portalViewConfig=s_viewPortal, const ViewConfig &sensitiveViewConfig=s_viewSensitive) const |
| Visualize a tracking geometry including substructure. | |
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
It enables both, a global search for an asociatedVolume (respectively, if existing, a global search of an associated Layer or the next associated Layer), such as a continuous navigation by BoundarySurfaces between the confined TrackingVolumes.
|
strong |
|
explicit |
Constructor.
| highestVolume | is the world volume |
| materialDecorator | is a dediated decorator that can assign surface or volume based material to the TrackingVolume |
| hook | Identifier hook to be applied to surfaces |
| logger | instance of a logger (defaulting to the "silent" one) |
| close | If true, run the Gen1 geometry closure |
| Acts::TrackingGeometry::~TrackingGeometry | ( | ) |
Destructor.
| void Acts::TrackingGeometry::apply | ( | Callable && | callable | ) |
Apply an arbitrary callable as a visitor to the tracking volume.
| callable | The callable to apply |
TrackingGeometryVisitor receive. | void Acts::TrackingGeometry::apply | ( | Callable && | callable | ) | const |
Apply an arbitrary callable as a visitor to the tracking volume.
| callable | The callable to apply |
TrackingGeometryMutableVisitor receive. | void Acts::TrackingGeometry::apply | ( | TrackingGeometryMutableVisitor & | visitor | ) |
Apply a visitor to the tracking volume.
| visitor | The visitor to apply |
| void Acts::TrackingGeometry::apply | ( | TrackingGeometryVisitor & | visitor | ) | const |
Apply a visitor to the tracking volume.
| visitor | The visitor to apply |
| const Layer * Acts::TrackingGeometry::associatedLayer | ( | const GeometryContext & | gctx, |
| const Vector3 & | gp ) const |
Forward the associated Layer information.
| gctx | is the context for this request (e.g. alignment) |
| gp | is the global position of the call |
| const Surface * Acts::TrackingGeometry::findSurface | ( | GeometryIdentifier | id | ) | const |
Search for a surface with the given identifier.
| id | is the geometry identifier of the surface |
| nullptr | if no such surface exists |
| pointer | to the found surface otherwise. |
| const TrackingVolume * Acts::TrackingGeometry::findVolume | ( | GeometryIdentifier | id | ) | const |
Search for a volume with the given identifier.
| id | is the geometry identifier of the volume |
| nullptr | if no such volume exists |
| pointer | to the found volume otherwise. |
| const std::unordered_map< GeometryIdentifier, const Surface * > & Acts::TrackingGeometry::geoIdSurfaceMap | ( | ) | const |
Access to the GeometryIdentifier - Surface association map.
| GeometryVersion Acts::TrackingGeometry::geometryVersion | ( | ) | const |
Return the generation of this TrackingGeometry.
| TrackingVolume * Acts::TrackingGeometry::highestTrackingVolume | ( | ) |
Access to the world volume.
| const TrackingVolume * Acts::TrackingGeometry::highestTrackingVolume | ( | ) | const |
Access to the world volume.
| std::shared_ptr< const TrackingVolume > Acts::TrackingGeometry::highestTrackingVolumePtr | ( | ) | const |
Access to the world volume.
| const TrackingVolume * Acts::TrackingGeometry::lowestTrackingVolume | ( | const GeometryContext & | gctx, |
| const Vector3 & | gp ) const |
return the lowest tracking Volume
| gctx | The current geometry context object, e.g. alignment |
| gp | is the global position of the call |
| void Acts::TrackingGeometry::visitSurfaces | ( | visitor_t && | visitor | ) | const |
Visit all sensitive surfaces.
| visitor_t | Type of the callable visitor |
| visitor | The callable. Will be called for each sensitive surface that is found, a selection of the surfaces can be done in the visitor |
| void Acts::TrackingGeometry::visitSurfaces | ( | visitor_t && | visitor, |
| bool | restrictToSensitives ) const |
Visit all reachable surfaces.
| visitor_t | Type of the callable visitor |
| visitor | The callable. Will be called for each reachable surface that is found, a selection of the surfaces can be done in the visitor |
| restrictToSensitives | If true, only sensitive surfaces are visited |
| void Acts::TrackingGeometry::visitVolumes | ( | visitor_t && | visitor | ) | const |
Visit all reachable tracking volumes.
| visitor_t | Type of the callable visitor |
| visitor | The callable. Will be called for each reachable volume that is found, a selection of the volumes can be done in the visitor |
| void Acts::TrackingGeometry::visualize | ( | IVisualization3D & | helper, |
| const GeometryContext & | gctx, | ||
| const ViewConfig & | viewConfig = s_viewVolume, | ||
| const ViewConfig & | portalViewConfig = s_viewPortal, | ||
| const ViewConfig & | sensitiveViewConfig = s_viewSensitive ) const |
Visualize a tracking geometry including substructure.
| helper | The visualization helper that implement the output |
| gctx | The geometry context |
| viewConfig | Global view config |
| portalViewConfig | View config for portals |
| sensitiveViewConfig | View configuration for sensitive surfaces |