Template Class BoundarySurfaceT

Class Documentation

template<class volume_t>
class Acts::BoundarySurfaceT

The boundary surface class combines a Surface with the information of a volume. It’s templated in the type of volume in order to allow for a return type tat is usable in the navigation stream.

Template Parameters
  • volume_t: the type of volume.

Note

along/oppose definitions are given with respect to the normal vector of the boundary surface.

Public Functions

BoundarySurfaceT()
BoundarySurfaceT(std::shared_ptr<const Surface> surface, const volume_t *inside, const volume_t *outside)

Constructor for a Boundary with exact two Volumes attached to it.

  • usually used in a volume constructor

Parameters
  • surface: The unqiue surface the boundary represents

  • inside: The inside volume the bounday surface points to

  • outside: The outside volume the boundary surface points to

BoundarySurfaceT(std::shared_ptr<const Surface> surface, VolumePtr inside, VolumePtr outside)

Constructor for a Boundary with exact two Volumes attached to it.

  • usually used in a volume constructor

Parameters
  • surface: The unqiue surface the boundary represents

  • inside: The inside volume the bounday surface points to

  • outside: The outside volume the boundary surface points to

BoundarySurfaceT(std::shared_ptr<const Surface> surface, std::shared_ptr<const VolumeArray> insideArray, std::shared_ptr<const VolumeArray> outsideArray)

Constructor for a Boundary with exact multiple Volumes attached to it.

  • usually used in a volume constructor

Parameters
  • surface: The unqiue surface the boundary represents

  • insideArray: The inside volume array the bounday surface points to

  • outsideArray: The outside volume array the boundary surface points to

~BoundarySurfaceT() = default
const volume_t *attachedVolume(const GeometryContext &gctx, const Vector3 &pos, const Vector3 &mom, NavigationDirection pdir) const

Get the next Volume depending on GlobalPosition, GlobalMomentum, dir on the TrackParameters and the requested direction.

Return

The attached volume at that position

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

  • pos: The global position on surface

  • mom: The direction on the surface

  • dir: is an aditional direction corrective

void attachVolume(const volume_t *volume, NavigationDirection navDir)

Helper method: attach a Volume to this BoundarySurfaceT this is done during the geometry construction.

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

  • volume: The volume to be attached

  • navDir: The navigation direction for attaching

void attachVolumeArray(std::shared_ptr<const VolumeArray> volumes, NavigationDirection navDir)

Helper method: attach a Volume to this BoundarySurfaceT this is done during the geometry construction.

Parameters
  • volumes: The volume array to be attached

  • navDir: The navigation direction for attaching

template<class parameters_t>
bool onBoundary(const GeometryContext &gctx, const parameters_t &pars) const

templated onBoundary method

Template Parameters
  • parameters_t: are the parameters to be checked

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

  • pars: The parameters used for this call

const Surface &surfaceRepresentation() const

The Surface Representation of this.

Protected Attributes

const volume_t *m_alongVolume

the outside (w.r.t. normal vector) volume to point to if only one exists

std::shared_ptr<const VolumeArray> m_alongVolumeArray

the outside (w.r.t. normal vector) volume array to point to

const volume_t *m_oppositeVolume

the inside (w.r.t. normal vector) volume to point to if only one exists

std::shared_ptr<const VolumeArray> m_oppositeVolumeArray

the inside (w.r.t. normal vector) volume array to point to

std::shared_ptr<const Surface> m_surface

the represented surface by this