Class Acts::BoundarySurfaceT

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.

tparam volume_t

the type of volume.

Note

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

Public Functions

inline BoundarySurfaceT()
inline 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

inline 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

inline 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

virtual ~BoundarySurfaceT() = default
virtual 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.

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

  • pos – The global position on surface

  • mom – The direction on the surface

  • pdir – is an aditional direction corrective

Returns

The attached volume at that position

void attachVolume(const volume_t *volume, NavigationDirection navDir)

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

Parameters
  • 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>
inline 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

inline virtual const Surface &surfaceRepresentation() const

The Surface Representation of this.