12#include "algebra/impl/smatrix_getter.hpp"
13#include "algebra/impl/smatrix_transform3.hpp"
14#include "detray/algebra/concepts.hpp"
15#include "detray/algebra/type_traits.hpp"
18#include <Math/SMatrix.h>
19#include <Math/SVector.h>
26namespace algebra::smatrix {
29using index_type =
unsigned int;
31template <concepts::value T>
34template <concepts::value T>
37template <concepts::scalar T, index_type N>
38using storage_type = ROOT::Math::SVector<T, N>;
40template <concepts::scalar T, index_type N>
41using vector_type = storage_type<T, N>;
43template <concepts::scalar T, index_type ROWS, index_type COLS>
44using matrix_type = ROOT::Math::SMatrix<T, ROWS, COLS>;
47template <concepts::scalar T>
48using vector3 = storage_type<T, 3>;
50template <concepts::scalar T>
51using point3 = vector3<T>;
53template <concepts::scalar T>
54using vector2 = storage_type<T, 2>;
56template <concepts::scalar T>
57using point2 = vector2<T>;
61using transform3 = smatrix::math::transform3<T>;
64using element_getter = smatrix::storage::element_getter;
66using block_getter = smatrix::storage::block_getter;
70DETRAY_ALGEBRA_DEFINE_TYPE_TRAITS(algebra::smatrix)
constexpr double T
Magnetic field, native unit (eV*s)/(e*m²).
Definition Units.hpp:168
Detray include(s).
Definition array_operators.hpp:18