Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Vector/matrix types with a common scalar type

Typedefs

using Acts::ActsScalar = double
 
template<unsigned int kSize>
using Acts::ActsVector = Eigen::Matrix< ActsScalar, kSize, 1 >
 
template<unsigned int kRows, unsigned int kCols>
using Acts::ActsMatrix = Eigen::Matrix< ActsScalar, kRows, kCols >
 
template<unsigned int kSize>
using Acts::ActsSquareMatrix = Eigen::Matrix< ActsScalar, kSize, kSize >
 
using Acts::ActsDynamicVector = Eigen::Matrix< ActsScalar, Eigen::Dynamic, 1 >
 
using Acts::ActsDynamicMatrix = Eigen::Matrix< ActsScalar, Eigen::Dynamic, Eigen::Dynamic >
 

Detailed Description

These are the default vector/matrix types that should be used throughout the codebase. They all use the common Acts scalar type but support variable size either at compile- or runtime.

Eigen does not have a distinct type for symmetric matrices. A typedef for fixed-size matrices is still defined to simplify definition (one template size vs two template size for generic matrices) and to clarify semantic meaning in interfaces. It also ensures that the matrix is square. However, the user is responsible for ensuring that the values are symmetric.

Without a distinct type for symmetric matrices, there is no way to provide any conditions e.g. square size, for the dynamic-sized case. Consequently, no dynamic-sized symmetric matrix type is defined. Use the ActsDynamicMatrix instead.

Typedef Documentation

using Acts::ActsDynamicMatrix = typedef Eigen::Matrix<ActsScalar, Eigen::Dynamic, Eigen::Dynamic>

Definition at line 68 of file Algebra.hpp.

View newest version in sPHENIX GitHub at line 68 of file Algebra.hpp

using Acts::ActsDynamicVector = typedef Eigen::Matrix<ActsScalar, Eigen::Dynamic, 1>

Definition at line 65 of file Algebra.hpp.

View newest version in sPHENIX GitHub at line 65 of file Algebra.hpp

template<unsigned int kRows, unsigned int kCols>
using Acts::ActsMatrix = typedef Eigen::Matrix<ActsScalar, kRows, kCols>

Definition at line 60 of file Algebra.hpp.

View newest version in sPHENIX GitHub at line 60 of file Algebra.hpp

using Acts::ActsScalar = typedef double

Common scalar (floating point type used for the default algebra types.

Defaults to double but can be customized by the user.

Definition at line 53 of file Algebra.hpp.

View newest version in sPHENIX GitHub at line 53 of file Algebra.hpp

template<unsigned int kSize>
using Acts::ActsSquareMatrix = typedef Eigen::Matrix<ActsScalar, kSize, kSize>

Definition at line 63 of file Algebra.hpp.

View newest version in sPHENIX GitHub at line 63 of file Algebra.hpp

template<unsigned int kSize>
using Acts::ActsVector = typedef Eigen::Matrix<ActsScalar, kSize, 1>

Definition at line 57 of file Algebra.hpp.

View newest version in sPHENIX GitHub at line 57 of file Algebra.hpp