Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type > Class Template Reference

This is an index grid based navigation state updator, it uses an extractor type and a filler type to handle the navigation state. More...

#include <acts/blob/sPHENIX/Core/include/Acts/Navigation/NavigationStateUpdators.hpp>

+ Inheritance diagram for Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >:
+ Collaboration diagram for Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >:

Public Types

using grid_type = grid_t
 Broadcast the grid type.
 

Public Member Functions

 IndexedUpdatorImpl (grid_type &&igrid, const std::array< BinningValue, grid_type::DIM > &icasts, const Transform3 &itr=Transform3::Identity())
 Constructor for a grid based surface attacher.
 
 IndexedUpdatorImpl ()=delete
 
void update (const GeometryContext &gctx, NavigationState &nState) const
 updates the navigation state with objects from the grid according to the filling type AFTER applying p3loc = transform * p3
 
std::array< ActsScalar,
grid_type::DIM > 
castPosition (const Vector3 &position) const
 
- Public Member Functions inherited from Acts::Experimental::INavigationDelegate
virtual ~INavigationDelegate ()=default
 

Public Attributes

extractor_type extractor
 An extractor helper to get the object(s) from the volume.
 
grid_type grid
 The grid where the indices are stored.
 
std::array< BinningValue,
grid_type::DIM > 
casts {}
 These are the cast parameters - copied from constructor.
 
Transform3 transform = Transform3::Identity()
 A transform to be applied to the position.
 

Private Member Functions

template<typename Array , std::size_t... idx>
void fillCasts (const Vector3 &position, Array &a, std::index_sequence< idx...>) const
 

Detailed Description

template<typename grid_t, typename extractor_type, typename filler_type>
class Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >

This is an index grid based navigation state updator, it uses an extractor type and a filler type to handle the navigation state.

Note
a transform is applied p3l = transform * p3 in order to allow shifted, transformed grids

It can be used for volumes, surfaces at convenience

Template Parameters
grid_tis the type of the grid
extractor_typeis the helper to extract the object
filler_typeis the helper to fill the object into the nState

Definition at line 115 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 115 of file NavigationStateUpdators.hpp

Member Typedef Documentation

template<typename grid_t, typename extractor_type, typename filler_type>
using Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::grid_type = grid_t

Broadcast the grid type.

Definition at line 118 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 118 of file NavigationStateUpdators.hpp

Constructor & Destructor Documentation

template<typename grid_t, typename extractor_type, typename filler_type>
Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::IndexedUpdatorImpl ( grid_type &&  igrid,
const std::array< BinningValue, grid_type::DIM > &  icasts,
const Transform3 itr = Transform3::Identity() 
)
inline

Constructor for a grid based surface attacher.

Parameters
igridthe grid that is moved into this attacher
icastsis the cast values array
itra transform applied to the global position

Definition at line 136 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 136 of file NavigationStateUpdators.hpp

template<typename grid_t, typename extractor_type, typename filler_type>
Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::IndexedUpdatorImpl ( )
delete

Member Function Documentation

template<typename grid_t, typename extractor_type, typename filler_type>
std::array<ActsScalar, grid_type::DIM> Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::castPosition ( const Vector3 position) const
inline

Cast into a lookup position

Parameters
positionis the position of the update call

Definition at line 162 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 162 of file NavigationStateUpdators.hpp

Referenced by Acts::Experimental::IndexedUpdatorImpl< VariableBoundIndexGrid1, DetectorVolumesCollection, DetectorVolumeFiller >::update().

+ Here is the caller graph for this function:

template<typename grid_t, typename extractor_type, typename filler_type>
template<typename Array , std::size_t... idx>
void Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::fillCasts ( const Vector3 position,
Array &  a,
std::index_sequence< idx...>   
) const
inlineprivate

Unroll the cast loop

Parameters
positionis the position of the update call
ais the array to be filled

Definition at line 178 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 178 of file NavigationStateUpdators.hpp

Referenced by Acts::Experimental::IndexedUpdatorImpl< VariableBoundIndexGrid1, DetectorVolumesCollection, DetectorVolumeFiller >::castPosition().

+ Here is the caller graph for this function:

template<typename grid_t, typename extractor_type, typename filler_type>
void Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::update ( const GeometryContext gctx,
NavigationState nState 
) const
inline

updates the navigation state with objects from the grid according to the filling type AFTER applying p3loc = transform * p3

Parameters
gctxis the Geometry context of this call
nStatethe navigation state to which the surfaces are attached
Note
this is attaching objects without intersecting nor checking

Definition at line 150 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 150 of file NavigationStateUpdators.hpp

Referenced by Acts::Experimental::IndexedRootVolumeFinderBuilder::construct(), and Acts::Experimental::BoundVolumesGrid1Impl::update().

+ Here is the caller graph for this function:

Member Data Documentation

template<typename grid_t, typename extractor_type, typename filler_type>
std::array<BinningValue, grid_type::DIM> Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::casts {}

These are the cast parameters - copied from constructor.

Definition at line 127 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 127 of file NavigationStateUpdators.hpp

Referenced by Acts::Experimental::IndexedUpdatorImpl< VariableBoundIndexGrid1, DetectorVolumesCollection, DetectorVolumeFiller >::fillCasts().

template<typename grid_t, typename extractor_type, typename filler_type>
extractor_type Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::extractor

An extractor helper to get the object(s) from the volume.

Definition at line 121 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 121 of file NavigationStateUpdators.hpp

Referenced by Acts::Experimental::IndexedUpdatorImpl< VariableBoundIndexGrid1, DetectorVolumesCollection, DetectorVolumeFiller >::update().

template<typename grid_t, typename extractor_type, typename filler_type>
grid_type Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::grid
template<typename grid_t, typename extractor_type, typename filler_type>
Transform3 Acts::Experimental::IndexedUpdatorImpl< grid_t, extractor_type, filler_type >::transform = Transform3::Identity()

A transform to be applied to the position.

Definition at line 130 of file NavigationStateUpdators.hpp.

View newest version in sPHENIX GitHub at line 130 of file NavigationStateUpdators.hpp

Referenced by Acts::Experimental::IndexedUpdatorImpl< VariableBoundIndexGrid1, DetectorVolumesCollection, DetectorVolumeFiller >::castPosition().


The documentation for this class was generated from the following file: