|
ACTS
Experiment-independent tracking
|
Helper class for fixed subspace operations. More...
#include <Acts/EventData/SubspaceHelpers.hpp>
Public Types | |
| template<std::size_t K> | |
| using | ApplyLeftResult = ActsMatrix<kSubspaceSize, kSubspaceSize> |
| Type alias for left application result matrix. | |
| template<std::size_t N> | |
| using | ApplyRightResult = ActsMatrix<kSubspaceSize, kSubspaceSize> |
| Type alias for right application result matrix. | |
| using | Container = std::array<IndexType, kSubspaceSize> |
| Type alias for container storing subspace indices. | |
| using | Expander = ActsMatrix<kFullSize, kSubspaceSize> |
| Type alias for expansion matrix (full x subspace). | |
| using | IndexType = index_t |
| Type alias for index type used to specify subspace indices. | |
| using | Projector = ActsMatrix<kSubspaceSize, kFullSize> |
| Type alias for projection matrix (subspace x full). | |
| using | size_type = std::size_t |
| Type alias for size type. | |
| using | SquareMatrix = ActsSquareMatrix<kSubspaceSize> |
| Type alias for subspace square matrix. | |
| using | Vector = ActsVector<kSubspaceSize> |
| Type alias for subspace vector. | |
Public Member Functions | |
| template<std::ranges::sized_range other_index_range_t> | |
| FixedSubspaceHelper (const other_index_range_t &indices) | |
| Construct a fixed subspace helper with specified indices. | |
| template<std::size_t K, typename Derived> | |
| ApplyLeftResult< K > | applyLeftOf (const Eigen::DenseBase< Derived > &matrix) const |
| Apply subspace projection on the left side of a matrix. | |
| template<std::size_t N, typename Derived> | |
| ApplyRightResult< N > | applyRightOf (const Eigen::DenseBase< Derived > &matrix) const |
| Apply subspace projection on the right side of a matrix. | |
| auto | begin () const |
| Get iterator to beginning of indices. | |
| bool | empty () const |
| Check if the subspace is empty. | |
| auto | end () const |
| Get iterator to end of indices. | |
| Expander | expander () const |
| Create an expansion matrix from subspace to full space. | |
| const Container & | indices () const |
| Get the container of subspace indices. | |
| IndexType | operator[] (std::uint32_t i) const |
| Access subspace index at position i. | |
| template<typename Derived> | |
| SquareMatrix | projectMatrix (const Eigen::DenseBase< Derived > &fullMatrix) const |
| Project a full-space square matrix to subspace. | |
| Projector | projector () const |
| Create a projection matrix from full space to subspace. | |
| template<typename Derived> | |
| Vector | projectVector (const Eigen::DenseBase< Derived > &fullVector) const |
| Project a full-space vector to subspace. | |
| std::size_t | size () const |
| Get the size of the subspace. | |
Static Public Attributes | |
| static constexpr std::size_t | kFullSize = FullSize |
| Size of the full parameter space. | |
| static constexpr std::size_t | kSubspaceSize = SubspaceSize |
| Size of the subspace parameter space. | |
Helper class for fixed subspace operations.
| FullSize | the full size of the subspace |
| SubspaceSize | the size of the subspace |
| index_t | the index type |
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::ApplyLeftResult = ActsMatrix<kSubspaceSize, kSubspaceSize> |
Type alias for left application result matrix.
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::ApplyRightResult = ActsMatrix<kSubspaceSize, kSubspaceSize> |
Type alias for right application result matrix.
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::Container = std::array<IndexType, kSubspaceSize> |
Type alias for container storing subspace indices.
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::Expander = ActsMatrix<kFullSize, kSubspaceSize> |
Type alias for expansion matrix (full x subspace).
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::IndexType = index_t |
Type alias for index type used to specify subspace indices.
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::Projector = ActsMatrix<kSubspaceSize, kFullSize> |
Type alias for projection matrix (subspace x full).
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::size_type = std::size_t |
Type alias for size type.
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::SquareMatrix = ActsSquareMatrix<kSubspaceSize> |
Type alias for subspace square matrix.
| using Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::Vector = ActsVector<kSubspaceSize> |
Type alias for subspace vector.
|
explicit |
Construct a fixed subspace helper with specified indices.
| other_index_range_t | Type of the index range |
| indices | Range of indices defining the subspace, must match SubspaceSize |
| ApplyLeftResult< K > Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::applyLeftOf | ( | const Eigen::DenseBase< Derived > & | matrix | ) | const |
Apply subspace projection on the left side of a matrix.
| K | Number of columns in the input matrix |
| Derived | Eigen matrix type |
| matrix | Input matrix with rows matching full space size |
| ApplyRightResult< N > Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::applyRightOf | ( | const Eigen::DenseBase< Derived > & | matrix | ) | const |
Apply subspace projection on the right side of a matrix.
| N | Number of rows in the input matrix |
| Derived | Eigen matrix type |
| matrix | Input matrix with columns matching subspace size |
| auto Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::begin | ( | ) | const |
Get iterator to beginning of indices.
| bool Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::empty | ( | ) | const |
Check if the subspace is empty.
| auto Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::end | ( | ) | const |
Get iterator to end of indices.
| Expander Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::expander | ( | ) | const |
Create an expansion matrix from subspace to full space.
| const Container & Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::indices | ( | ) | const |
Get the container of subspace indices.
| IndexType Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::operator[] | ( | std::uint32_t | i | ) | const |
Access subspace index at position i.
| i | Position index |
| SquareMatrix Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::projectMatrix | ( | const Eigen::DenseBase< Derived > & | fullMatrix | ) | const |
Project a full-space square matrix to subspace.
| Derived | Eigen matrix type |
| fullMatrix | Input square matrix with full space dimensions |
| Projector Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::projector | ( | ) | const |
Create a projection matrix from full space to subspace.
| Vector Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::projectVector | ( | const Eigen::DenseBase< Derived > & | fullVector | ) | const |
Project a full-space vector to subspace.
| Derived | Eigen vector type |
| fullVector | Input vector with full space dimensions |
| std::size_t Acts::FixedSubspaceHelper< FullSize, SubspaceSize, index_t >::size | ( | ) | const |
Get the size of the subspace.
|
staticconstexpr |
Size of the full parameter space.
|
staticconstexpr |
Size of the subspace parameter space.