Class Acts::Experimental::MultiLayerSurfacesUpdatorImpl

template<typename grid_t, typename path_generator>
class MultiLayerSurfacesUpdatorImpl : public Acts::Experimental::INavigationDelegate

Public Types

using grid_type = grid_t

Broadcast the grid type.

Public Functions

MultiLayerSurfacesUpdatorImpl() = delete
inline MultiLayerSurfacesUpdatorImpl(grid_type &&igrid, const std::array<BinningValue, grid_type::DIM> &icasts, const Transform3 &itr = Transform3::Identity())

Constructor for a grid based surface attacher.

  • igrid – the grid that is moved into this attacher

  • icasts – is the cast values array

  • itr – a transform applied to the global position

inline std::array<ActsScalar, grid_type::DIM> castPosition(const Vector3 &position) const

Cast into a lookup position.


position – is the position of the update call

inline void resolveDuplicates(const GeometryContext &gctx, std::vector<const Acts::Surface*> &surfaces) const

Resolve duplicate on surface candidates.

  • gctx – The geometry context of the current geometry

  • surfaces – is the surface candidates to check and resolve for duplicates

inline void update(const GeometryContext &gctx, NavigationState &nState) const

Public Members

std::array<BinningValue, grid_type::DIM> casts = {}

These are the cast parameters - copied from constructor.

grid_type grid

The grid where the indices are stored.

path_generator pgenerator

The path generator.

Transform3 transform = Transform3::Identity()

A transform to be applied to the position.