Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Utilities/detail/Subspace.hpp>
Public Member Functions | |
template<typename index_t > | |
constexpr | FixedSizeSubspace (const std::array< index_t, kSize > &indices) |
FixedSizeSubspace ()=delete | |
FixedSizeSubspace (const FixedSizeSubspace &)=default | |
FixedSizeSubspace (FixedSizeSubspace &&)=default | |
FixedSizeSubspace & | operator= (const FixedSizeSubspace &)=default |
FixedSizeSubspace & | operator= (FixedSizeSubspace &&)=default |
constexpr const std::array < uint8_t, kSize > & | indices () const |
constexpr bool | contains (size_t index) const |
Check if the given axis index in the full space is part of the subspace. | |
template<typename fullspace_vector_t > | |
auto | projectVector (const Eigen::MatrixBase< fullspace_vector_t > &full) const -> SubspaceVectorFor< fullspace_vector_t > |
template<typename subspace_vector_t > | |
auto | expandVector (const Eigen::MatrixBase< subspace_vector_t > &sub) const -> FullspaceVectorFor< subspace_vector_t > |
template<typename scalar_t > | |
auto | projector () const -> ProjectionMatrix< scalar_t > |
template<typename scalar_t > | |
auto | expander () const -> ExpansionMatrix< scalar_t > |
Static Public Member Functions | |
static constexpr size_t | size () |
Size of the subspace. | |
static constexpr size_t | fullSize () |
Size of the full vector space. | |
Private Types | |
template<typename source_t > | |
using | SubspaceVectorFor = Eigen::Matrix< typename source_t::Scalar, kSize, 1 > |
template<typename source_t > | |
using | FullspaceVectorFor = Eigen::Matrix< typename source_t::Scalar, kFullSize, 1 > |
template<typename scalar_t > | |
using | ProjectionMatrix = Eigen::Matrix< scalar_t, kSize, kFullSize > |
template<typename scalar_t > | |
using | ExpansionMatrix = Eigen::Matrix< scalar_t, kFullSize, kSize > |
Private Attributes | |
std::array< uint8_t, kSize > | m_axes |
Fixed-size subspace representation.
kFullSize | Size of the full vector space |
kSize | Size of the subspace |
Definition at line 64 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 64 of file Subspace.hpp
|
private |
Definition at line 79 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 79 of file Subspace.hpp
|
private |
Definition at line 75 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 75 of file Subspace.hpp
|
private |
Definition at line 77 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 77 of file Subspace.hpp
|
private |
Definition at line 72 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 72 of file Subspace.hpp
|
inline |
Construct from a container of axis indices.
index_t | Input index type, must be convertible to uint8_t |
indices | Unique, ordered indices |
Definition at line 96 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 96 of file Subspace.hpp
References assert, i, Acts::detail::FixedSizeSubspace< kFullSize, kSize >::m_axes, and physmon_ckf_tracking::u.
|
delete |
|
default |
|
default |
|
inline |
Check if the given axis index in the full space is part of the subspace.
Definition at line 129 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 129 of file Subspace.hpp
References KFPMath::a, and Acts::detail::FixedSizeSubspace< kFullSize, kSize >::m_axes.
Referenced by Acts::Measurement< BoundIndices, 3 >::contains().
|
inline |
Expansion matrix that maps from the subspace into the full space.
scalar_t | Scalar type of the generated expansion matrix |
Definition at line 195 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 195 of file Subspace.hpp
References i, Acts::detail::FixedSizeSubspace< kFullSize, kSize >::m_axes, and physmon_ckf_tracking::u.
|
inline |
Expand a subspace vector into the full space.
subspace_vector_t | Subspace vector type |
sub | Subspace vector |
Definition at line 166 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 166 of file Subspace.hpp
References i, Acts::detail::FixedSizeSubspace< kFullSize, kSize >::m_axes, and physmon_ckf_tracking::u.
|
inlinestatic |
Size of the full vector space.
Definition at line 119 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 119 of file Subspace.hpp
|
inline |
Axis indices that comprise the subspace.
The specific container and index type should be considered an implementation detail. Users should treat the return type as a generic container whose elements are convertible to size_t
.
Definition at line 126 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 126 of file Subspace.hpp
References Acts::detail::FixedSizeSubspace< kFullSize, kSize >::m_axes.
Referenced by Acts::Measurement< BoundIndices, 3 >::indices(), Acts::Measurement< BoundIndices, 3 >::operator<<(), and Acts::Measurement< BoundIndices, 3 >::residuals().
|
default |
|
default |
|
inline |
Projection matrix that maps from the full space into the subspace.
scalar_t | Scalar type for the projection matrix |
Definition at line 182 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 182 of file Subspace.hpp
References i, Acts::detail::FixedSizeSubspace< kFullSize, kSize >::m_axes, proj(), and physmon_ckf_tracking::u.
|
inline |
Project a full vector into the subspace.
fullspace_vector_t | Vector type in the full space |
full | Vector in the full space |
Definition at line 147 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 147 of file Subspace.hpp
References i, Acts::detail::FixedSizeSubspace< kFullSize, kSize >::m_axes, and physmon_ckf_tracking::u.
|
inlinestatic |
Size of the subspace.
Definition at line 117 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 117 of file Subspace.hpp
|
private |
Definition at line 88 of file Subspace.hpp.
View newest version in sPHENIX GitHub at line 88 of file Subspace.hpp
Referenced by Acts::detail::FixedSizeSubspace< kFullSize, kSize >::contains(), Acts::detail::FixedSizeSubspace< kFullSize, kSize >::expander(), Acts::detail::FixedSizeSubspace< kFullSize, kSize >::expandVector(), Acts::detail::FixedSizeSubspace< kFullSize, kSize >::FixedSizeSubspace(), Acts::detail::FixedSizeSubspace< kFullSize, kSize >::indices(), Acts::detail::FixedSizeSubspace< kFullSize, kSize >::projector(), and Acts::detail::FixedSizeSubspace< kFullSize, kSize >::projectVector().