Class TrackingGeometry

Class Documentation

class Acts::TrackingGeometry

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)

Constructor.

Parameters
  • highestVolume: is the world volume

  • materialDecorator: is a dediated decorator that can assign surface or volume based material to the TrackingVolume

~TrackingGeometry()

Destructor.

const Layer *associatedLayer(const GeometryContext &gctx, const Vector3 &gp) const

Forward the associated Layer information.

gctx is the context for this request (e.g. alignment)

Return

plain pointer to assocaiated layer

Parameters
  • gp: is the global position of the call

const Surface *findSurface(GeometryIdentifier id) const

Search for a surface with the given identifier.

Parameters
  • id: is the geometry identifier of the surface

Return Value
  • 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 Value
  • 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

Return

raw pointer to surface representing the beam pipe (could be a null pointer)

const TrackingVolume *highestTrackingVolume() const

Access to the world volume.

Return

plain pointer to the world volume

const TrackingVolume *lowestTrackingVolume(const GeometryContext &gctx, const Vector3 &gp) const

return the lowest tracking Volume

Return

plain pointer to the lowest TrackingVolume

Parameters
  • gctx: The current geometry context object, e.g. alignment

  • gp: is the global position of the call

void registerBeamTube(std::shared_ptr<const PerigeeSurface> beam)

Register the beam tube.

Parameters
  • beam: is the beam line surface

void visitSurfaces(const std::function<void(const Acts::Surface*)> &visitor) const

Visit all sensitive surfaces.

Parameters
  • visitor: The callable. Will be called for each sensitive surface that is found