|
ACTS
Experiment-independent tracking
|
Grid iterator using the local position. More...
#include <Acts/Utilities/GridIterator.hpp>
Public Types | |
| using | difference_type = std::ptrdiff_t |
| Type for iterator arithmetic. | |
| using | iterator_category = std::bidirectional_iterator_tag |
| Iterator category for standard algorithms. | |
| using | pointer = value_type* |
| Pointer type to grid values. | |
| using | reference = value_type& |
| Reference type to grid values. | |
| using | value_type = T |
| Type of values stored in grid bins. | |
Public Member Functions | |
| GridLocalIterator ()=default | |
| Default constructor. | |
| GridLocalIterator (const Grid< T, Axes... > &grid, const std::array< std::size_t, DIM > &indices) | |
| Constructor. | |
| GridLocalIterator (const Grid< T, Axes... > &grid, const std::array< std::size_t, DIM > &indices, std::array< std::vector< std::size_t >, DIM > navigation) | |
| Constructor with custom navigation pattern. | |
| GridLocalIterator (const GridLocalIterator< T, Axes... > &other)=default | |
| Copy constructor. | |
| GridLocalIterator (Grid< T, Axes... > &&grid, const std::array< std::size_t, DIM > &indices)=delete | |
| Constructor taking ownership of the grid is not allowed. | |
| GridLocalIterator (Grid< T, Axes... > &&grid, const std::array< std::size_t, DIM > &indices, std::array< std::vector< std::size_t >, DIM > navigation)=delete | |
| Constructor taking ownership of the grid is not allowed. | |
| GridLocalIterator (GridLocalIterator< T, Axes... > &&other) noexcept | |
| Move constructor. | |
| ~GridLocalIterator ()=default | |
| Default destructor. | |
| std::size_t | globalBinIndex () const |
| Retrieve the global bin index. | |
| std::array< std::size_t, DIM > | localBinsIndices () const |
| Retrieve the local position. | |
| const value_type & | operator* () const |
| Return stored value at given local position. | |
| GridLocalIterator< T, Axes... > & | operator++ () |
| Increment operator (pre). | |
| GridLocalIterator< T, Axes... > | operator++ (int) |
| Increment operator (post). | |
| GridLocalIterator< T, Axes... > & | operator= (const GridLocalIterator< T, Axes... > &other)=default |
| Copy assignment operator. | |
| GridLocalIterator< T, Axes... > & | operator= (GridLocalIterator< T, Axes... > &&other) noexcept |
| Move assignment operator. | |
| bool | operator== (const GridLocalIterator< T, Axes... > &other) const |
| Equality operator. | |
Static Public Attributes | |
| static constexpr std::size_t | DIM = sizeof...(Axes) |
| Dimensionality of the grid (number of axes). | |
Grid iterator using the local position.
This iterates on all local bins in the grid, and can exclude under- and over-flows Can also allow for custom navigation pattern along axes
| T | The type stored in the grid bins |
| Axes | ... The types of the axes in the grid |
| using Acts::GridLocalIterator< T, Axes >::difference_type = std::ptrdiff_t |
Type for iterator arithmetic.
| using Acts::GridLocalIterator< T, Axes >::iterator_category = std::bidirectional_iterator_tag |
Iterator category for standard algorithms.
| using Acts::GridLocalIterator< T, Axes >::pointer = value_type* |
Pointer type to grid values.
| using Acts::GridLocalIterator< T, Axes >::reference = value_type& |
Reference type to grid values.
| using Acts::GridLocalIterator< T, Axes >::value_type = T |
Type of values stored in grid bins.
|
default |
Default constructor.
|
delete |
Constructor taking ownership of the grid is not allowed.
| [in] | grid | The grid |
| [in] | indices | The local position |
|
delete |
Constructor taking ownership of the grid is not allowed.
| [in] | grid | The grid |
| [in] | indices | The local position |
| [in] | navigation | The custom navigation pattern for each axis |
| Acts::GridLocalIterator< T, Axes >::GridLocalIterator | ( | const Grid< T, Axes... > & | grid, |
| const std::array< std::size_t, DIM > & | indices ) |
Constructor.
| [in] | grid | The grid |
| [in] | indices | The local position |
| Acts::GridLocalIterator< T, Axes >::GridLocalIterator | ( | const Grid< T, Axes... > & | grid, |
| const std::array< std::size_t, DIM > & | indices, | ||
| std::array< std::vector< std::size_t >, DIM > | navigation ) |
Constructor with custom navigation pattern.
| [in] | grid | The grid |
| [in] | indices | The local position |
| [in] | navigation | The custom navigation pattern for each axis |
|
default |
Copy constructor.
| [in] | other | The GridLocalIterator to be copied |
|
noexcept |
Move constructor.
| [in] | other | The GridLocalIterator to be moved |
This will invalidate the other GridLocalIterator
|
default |
Default destructor.
| std::size_t Acts::GridLocalIterator< T, Axes >::globalBinIndex | ( | ) | const |
Retrieve the global bin index.
| std::array< std::size_t, DIM > Acts::GridLocalIterator< T, Axes >::localBinsIndices | ( | ) | const |
Retrieve the local position.
| const value_type & Acts::GridLocalIterator< T, Axes >::operator* | ( | ) | const |
Return stored value at given local position.
| GridLocalIterator< T, Axes... > & Acts::GridLocalIterator< T, Axes >::operator++ | ( | ) |
Increment operator (pre).
This will increase the local position by one
| GridLocalIterator< T, Axes... > Acts::GridLocalIterator< T, Axes >::operator++ | ( | int | ) |
Increment operator (post).
This will increase the local position by one
|
default |
Copy assignment operator.
| [in] | other | The GridLocalIterator to be copied |
|
noexcept |
Move assignment operator.
| [in] | other | The GridLocalIterator to be moved |
This will invalidate the other GridLocalIterator
| bool Acts::GridLocalIterator< T, Axes >::operator== | ( | const GridLocalIterator< T, Axes... > & | other | ) | const |
Equality operator.
| [in] | other | The other GridLocalIterator to be compared against this one |
|
staticconstexpr |
Dimensionality of the grid (number of axes).