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 Acts::ActsDynamicMatrix instead.
|
| using | Acts::ActsDynamicMatrix = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> |
| | Dynamic-sized matrix type.
|
| using | Acts::ActsDynamicVector = Eigen::Matrix<double, Eigen::Dynamic, 1> |
| | Dynamic-sized vector type.
|
| template<unsigned int kRows, unsigned int kCols> |
| using | Acts::ActsMatrix = Eigen::Matrix<double, kRows, kCols> |
| | Fixed-size matrix type for NxM matrices.
|
| template<unsigned int kSize> |
| using | Acts::ActsSquareMatrix = Eigen::Matrix<double, kSize, kSize> |
| | Fixed-size square matrix type for NxN matrices.
|
| template<unsigned int kSize> |
| using | Acts::ActsVector = Eigen::Matrix<double, kSize, 1> |
| | Fixed-size vector type for N-dimensional vectors.
|
| using | Acts::AngleAxis3 = Eigen::AngleAxis<double> |
| | Rotation defined by an angle around a rotation axis in 3D.
|
| using | Acts::RotationMatrix2 = SquareMatrix2 |
| | 2D rotation matrix
|
| using | Acts::RotationMatrix3 = SquareMatrix3 |
| | 3D rotation matrix
|
| using | Acts::SquareMatrix2 = ActsSquareMatrix<2> |
| | 2x2 square matrix type, typically used for 2D coordinate covariance
|
| using | Acts::SquareMatrix3 = ActsSquareMatrix<3> |
| | 3x3 square matrix type, typically used for 3D coordinate covariance
|
| using | Acts::SquareMatrix4 = ActsSquareMatrix<4> |
| | 4x4 square matrix type, typically used for 4D coordinate covariance
|
| using | Acts::Transform2 = Eigen::Transform<double, 2, Eigen::AffineCompact> |
| | 2D affine transformation stored as a compact 2x3 matrix
|
| using | Acts::Transform3 = Eigen::Transform<double, 3, Eigen::Affine> |
| | 3D affine transformation stored as a 4x4 matrix
|
| using | Acts::Translation2 = Eigen::Translation<double, 2> |
| | 2D translation transformation
|
| using | Acts::Translation3 = Eigen::Translation<double, 3> |
| | 3D translation transformation
|
| using | Acts::Vector2 = ActsVector<2> |
| | 2-dimensional vector type for 2D coordinates
|
| using | Acts::Vector3 = ActsVector<3> |
| | 3-dimensional vector type for e.g. spatial coordinates and momenta
|
| using | Acts::Vector4 = ActsVector<4> |
| | 4-dimensional vector type for space-time coordinates
|