|
ACTS
Experiment-independent tracking
|
Transform wrapper class to ensure standard API towards the ROOT::SMatrix lib. More...
#include <algebra/impl/smatrix_transform3.hpp>
Public Types | |
Type definitions for the struct | |
| using | scalar_type = scalar_t |
| Scalar type used by the transform. | |
| template<unsigned int N> | |
| using | array_type = ROOT::Math::SVector<scalar_t, N> |
| Array type used by the transform. | |
| using | vector2 = array_type<2> |
| Vector and point types. | |
| using | vector3 = array_type<3> |
| Three-component vector type used for spatial quantities. | |
| using | point2 = vector2 |
| Two-dimensional point representation. | |
| using | point3 = vector3 |
| Three-dimensional point representation. | |
| using | matrix44 = ROOT::Math::SMatrix<scalar_type, 4, 4> |
| 4x4 matrix type | |
| template<concepts::scalar o_scalar_t> | |
| using | other_type = transform3<o_scalar_t> |
| Helper type to cast this to another floating point precision. | |
Public Member Functions | |
| transform3 ()=default | |
| Default constructors. | |
| transform3 (const array_type< 16 > &ma) | |
| Constructor with arguments: matrix as ROOT::Math::SVector<scalar_t, 16> of scalars. | |
| transform3 (const matrix44 &m) | |
| Constructor with arguments: matrix. | |
| transform3 (const matrix44 &m, const matrix44 &m_inv) | |
| Constructor with arguments: matrix and its inverse. | |
| transform3 (const transform3 &rhs)=default | |
| Copy a transform and its cached inverse. | |
| transform3 (const vector3 &t) | |
| Constructor with arguments: translation. | |
| transform3 (const vector3 &t, const vector3 &x, const vector3 &y, const vector3 &z, bool get_inverse=true) | |
| Constructor with arguments: t, x, y, z. | |
| transform3 (const vector3 &t, const vector3 &z, const vector3 &x, bool get_inverse=true) | |
| Constructor with arguments: t, z, x. | |
| constexpr matrix44 | matrix () const |
| This method retrieves the 4x4 matrix of a transform. | |
| constexpr matrix44 | matrix_inverse () const |
| This method retrieves the 4x4 matrix of an inverse transform. | |
| constexpr bool | operator== (const transform3 &rhs) const |
| Equality operator. | |
| constexpr point3 | point_to_global (const point2 &v) const |
| This method transform from a point from the local 3D cartesian frame to the global 3D cartesian frame. | |
| constexpr point3 | point_to_global (const point3 &v) const |
| This method transform from a point from the local 3D cartesian frame to the global 3D cartesian frame. | |
| constexpr point3 | point_to_local (const point3 &v) const |
| Transform a global point to local coordinates. | |
| constexpr auto | rotation () const |
| This method retrieves the rotation of a transform. | |
| constexpr vector3 | translation () const |
| This method retrieves the translation of a transform. | |
| constexpr point3 | vector_to_global (const vector2 &v) const |
| This method transform from a vector from the local 2D cartesian frame to the global 3D cartesian frame. | |
| constexpr point3 | vector_to_global (const vector3 &v) const |
| This method transform from a vector from the local 3D cartesian frame to the global 3D cartesian frame. | |
| constexpr point3 | vector_to_local (const vector3 &v) const |
| This method transform from a vector from the global 3D cartesian frame into the local 3D cartesian frame. | |
| constexpr point3 | x () const |
| This method retrieves x axis. | |
| constexpr point3 | y () const |
| This method retrieves y axis. | |
| constexpr point3 | z () const |
| This method retrieves z axis. | |
Public Attributes | |
Data objects | |
| matrix44 | _data = ROOT::Math::SMatrixIdentity() |
| Local-to-global transformation matrix. | |
| matrix44 | _data_inv |
| Global-to-local transformation matrix. | |
Transform wrapper class to ensure standard API towards the ROOT::SMatrix lib.
| detray::algebra::smatrix::math::transform3< scalar_t >::transform3 | ( | const vector3 & | t, |
| const vector3 & | x, | ||
| const vector3 & | y, | ||
| const vector3 & | z, | ||
| bool | get_inverse = true ) |
Constructor with arguments: t, x, y, z.
| t | the translation (or origin of the new frame) |
| x | the x axis of the new frame |
| y | the y axis of the new frame |
| z | the z axis of the new frame, normal vector for planes |
| get_inverse | whether to compute and store the inverse |
| detray::algebra::smatrix::math::transform3< scalar_t >::transform3 | ( | const vector3 & | t, |
| const vector3 & | z, | ||
| const vector3 & | x, | ||
| bool | get_inverse = true ) |
Constructor with arguments: t, z, x.
| t | the translation (or origin of the new frame) |
| z | the z axis of the new frame, normal vector for planes |
| x | the x axis of the new frame |
| get_inverse | whether to compute and store the inverse |
|
explicit |
Constructor with arguments: translation.
| t | is the translation |
|
explicit |
Constructor with arguments: matrix.
| m | is the full 4x4 matrix |
| detray::algebra::smatrix::math::transform3< scalar_t >::transform3 | ( | const matrix44 & | m, |
| const matrix44 & | m_inv ) |
Constructor with arguments: matrix and its inverse.
| m | is the full 4x4 matrix |
| m_inv | is the inverse to m |
|
explicit |
Constructor with arguments: matrix as ROOT::Math::SVector<scalar_t, 16> of scalars.
| ma | is the full 4x4 matrix as a 16-element array |
|
default |
Copy a transform and its cached inverse.
| rhs | transform to copy |
|
constexpr |
This method retrieves the 4x4 matrix of a transform.
|
constexpr |
This method retrieves the 4x4 matrix of an inverse transform.
|
constexpr |
Equality operator.
| rhs | transform to compare with |
|
constexpr |
This method transform from a point from the local 3D cartesian frame to the global 3D cartesian frame.
| v | point in local coordinates |
|
constexpr |
This method transform from a point from the local 3D cartesian frame to the global 3D cartesian frame.
| v | point in local coordinates |
|
constexpr |
Transform a global point to local coordinates.
| v | point in global coordinates |
|
constexpr |
This method retrieves the rotation of a transform.
|
constexpr |
This method retrieves the translation of a transform.
|
constexpr |
This method transform from a vector from the local 2D cartesian frame to the global 3D cartesian frame.
| v | vector in local plane coordinates |
|
constexpr |
This method transform from a vector from the local 3D cartesian frame to the global 3D cartesian frame.
| v | vector in local coordinates |
|
constexpr |
This method transform from a vector from the global 3D cartesian frame into the local 3D cartesian frame.
| v | vector in global coordinates |
|
constexpr |
This method retrieves x axis.
|
constexpr |
This method retrieves y axis.
|
constexpr |
This method retrieves z axis.
| matrix44 detray::algebra::smatrix::math::transform3< scalar_t >::_data_inv |
Global-to-local transformation matrix.