Class Acts::Experimental::IndexedUpdatorImpl¶
-
template<typename grid_type, typename extractor_type, typename filler_type>
class IndexedUpdatorImpl : public Acts::Experimental::INavigationDelegate¶ This is an index grid based navigation state updator, it uses an extractor type and a filler type to handle the navigation state.
It can be used for volumes, surfaces at convenience
Note
a transform is applied
p3l = transform * p3
in order to allow shifted, transformed grids- Template Parameters
grid_type – is the type of the grid
extractor_type – is the helper to extract the object
filler_type – is the helper to fill the object into the nState
Public Functions
-
inline IndexedUpdatorImpl(grid_type &&igrid, const std::array<BinningValue, grid_type::DIM> &icasts, const Transform3 &itr = Transform3::Identity())¶
Constructor for a grid based surface attacher.
- Parameters
igrid – the grid that is moved into this attacher
icasts – is the cast values array
itr – a transform applied to the global position
-
IndexedUpdatorImpl() = delete¶
-
inline std::array<ActsScalar, grid_type::DIM> castPosition(const Vector3 &position) const¶
Cast into a lookup position.
- Parameters
position – is the position of the update call
updates the navigation state with objects from the grid according to the filling type AFTER applying
p3loc = transform * p3
Note
this is attaching objects without intersecting nor checking
- Parameters
gctx – is the Geometry context of this call
nState – the navigation state to which the surfaces are attached
Public Members
-
extractor_type extractor¶
An extractor helper to get the object(s) from the volume.