ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::algebra::eigen::storage::block_getter Struct Reference

Functor used to extract a block from Eigen matrices. More...

#include <algebra/impl/eigen_getter.hpp>

Public Member Functions

template<int kROWS, int kCOLS, typename derived_type, concepts::index index_t_1, concepts::index index_t_2>
decltype(auto) operator() (const Eigen::MatrixBase< derived_type > &m, const index_t_1 row, const index_t_2 col) const
 Return a block expression from a const matrix.
template<int kROWS, int kCOLS, typename derived_type, concepts::index index_t_1, concepts::index index_t_2>
decltype(auto) operator() (Eigen::MatrixBase< derived_type > &m, const index_t_1 row, const index_t_2 col) const
 Return a mutable block expression from a matrix.
template<typename derived_type1, typename derived_type2, concepts::index index_t_1, concepts::index index_t_2>
void set (Eigen::MatrixBase< derived_type1 > &m, const Eigen::MatrixBase< derived_type2 > &b, const index_t_1 row, const index_t_2 col) const
 Operator setting a block.
template<int SIZE, typename derived_type, concepts::index index_t_1, concepts::index index_t_2>
decltype(auto) vector (const Eigen::MatrixBase< derived_type > &m, const index_t_1 row, const index_t_2 col) const
 Return a const column segment from a matrix.
template<int SIZE, typename derived_type, concepts::index index_t_1, concepts::index index_t_2>
decltype(auto) vector (Eigen::MatrixBase< derived_type > &m, const index_t_1 row, const index_t_2 col) const
 Return a mutable column segment from a matrix.

Detailed Description

Functor used to extract a block from Eigen matrices.

Member Function Documentation

◆ operator()() [1/2]

template<int kROWS, int kCOLS, typename derived_type, concepts::index index_t_1, concepts::index index_t_2>
decltype(auto) detray::algebra::eigen::storage::block_getter::operator() ( const Eigen::MatrixBase< derived_type > & m,
const index_t_1 row,
const index_t_2 col ) const

Return a block expression from a const matrix.

Parameters
mSource matrix.
rowFirst row of the block.
colFirst column of the block.
Returns
A const block expression.

◆ operator()() [2/2]

template<int kROWS, int kCOLS, typename derived_type, concepts::index index_t_1, concepts::index index_t_2>
decltype(auto) detray::algebra::eigen::storage::block_getter::operator() ( Eigen::MatrixBase< derived_type > & m,
const index_t_1 row,
const index_t_2 col ) const

Return a mutable block expression from a matrix.

Parameters
mMatrix to access.
rowFirst row of the block.
colFirst column of the block.
Returns
A mutable block expression.

◆ set()

template<typename derived_type1, typename derived_type2, concepts::index index_t_1, concepts::index index_t_2>
void detray::algebra::eigen::storage::block_getter::set ( Eigen::MatrixBase< derived_type1 > & m,
const Eigen::MatrixBase< derived_type2 > & b,
const index_t_1 row,
const index_t_2 col ) const

Operator setting a block.

Parameters
mMatrix to update.
bBlock values to write.
rowFirst destination row.
colFirst destination column.

◆ vector() [1/2]

template<int SIZE, typename derived_type, concepts::index index_t_1, concepts::index index_t_2>
decltype(auto) detray::algebra::eigen::storage::block_getter::vector ( const Eigen::MatrixBase< derived_type > & m,
const index_t_1 row,
const index_t_2 col ) const

Return a const column segment from a matrix.

Parameters
mSource matrix.
rowFirst row of the segment.
colColumn containing the segment.
Returns
A const column-block expression.

◆ vector() [2/2]

template<int SIZE, typename derived_type, concepts::index index_t_1, concepts::index index_t_2>
decltype(auto) detray::algebra::eigen::storage::block_getter::vector ( Eigen::MatrixBase< derived_type > & m,
const index_t_1 row,
const index_t_2 col ) const

Return a mutable column segment from a matrix.

Parameters
mMatrix to access.
rowFirst row of the segment.
colColumn containing the segment.
Returns
A mutable column-block expression.