File TrackingGeometry.hpp¶
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
-
class TrackingGeometry
- #include <Acts/Geometry/TrackingGeometry.hpp>
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 continous navigation by BoundarySurfaces between the confined TrackingVolumes.
Public Functions
-
TrackingGeometry(const MutableTrackingVolumePtr &highestVolume, const IMaterialDecorator *materialDecorator = nullptr, const GeometryIdentifierHook &hook = {}, const Logger &logger = getDummyLogger())
Constructor.
- Parameters
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)
-
~TrackingGeometry()
Destructor.
-
const Layer *associatedLayer(const GeometryContext &gctx, const Vector3 &gp) const
Forward the associated Layer information.
- Parameters
gctx – is the context for this request (e.g. alignment)
gp – is the global position of the call
- Returns
plain pointer to assocaiated layer
-
const Surface *findSurface(GeometryIdentifier id) const
Search for a surface with the given identifier.
- Parameters
id – is the geometry identifier of the surface
- Return values
nullptr – if no such surface exists
pointer – to the found surface otherwise.
-
const TrackingVolume *findVolume(GeometryIdentifier id) const
Search for a volume with the given identifier.
- Parameters
id – is the geometry identifier of the volume
- Return values
nullptr – if no such volume exists
pointer – to the found volume otherwise.
-
const Surface *getBeamline() const
surface representing the beam pipe
Note
The ownership is not passed, e.g. do not delete the pointer
- Returns
raw pointer to surface representing the beam pipe (could be a null pointer)
-
const TrackingVolume *highestTrackingVolume() const
Access to the world volume.
- Returns
plain pointer to the world volume
-
const TrackingVolume *lowestTrackingVolume(const GeometryContext &gctx, const Vector3 &gp) const
return the lowest tracking Volume
- Parameters
gctx – The current geometry context object, e.g. alignment
gp – is the global position of the call
- Returns
plain pointer to the lowest TrackingVolume
Register the beam tube.
- Parameters
beam – is the beam line surface
-
template<ACTS_CONCEPT visitor_t(SurfaceVisitor)>
inline void visitSurfaces(visitor_t &&visitor) const Visit all sensitive surfaces.
- Template Parameters
visitor_t – Type of the callable visitor
- Parameters
visitor – The callable. Will be called for each sensitive surface that is found
Private Members
-
std::shared_ptr<const PerigeeSurface> m_beam¶
-
std::unordered_map<GeometryIdentifier, const Surface*> m_surfacesById¶
-
std::unordered_map<GeometryIdentifier, const TrackingVolume*> m_volumesById¶
-
TrackingVolumePtr m_world¶
Friends
- friend class TrackingGeometryBuilder
-
TrackingGeometry(const MutableTrackingVolumePtr &highestVolume, const IMaterialDecorator *materialDecorator = nullptr, const GeometryIdentifierHook &hook = {}, const Logger &logger = getDummyLogger())
-
class TrackingGeometry