|
ACTS
Experiment-independent tracking
|
describes a helical trajectory in a given B-field. More...
#include <detray/tracks/helix.hpp>
Public Types | |
| using | algebra_type = algebra_t |
| Algebra backend used by the helix calculations. | |
| using | free_matrix_t = free_matrix<algebra_t> |
| Matrix type for the free-parameter transport Jacobian. | |
| using | free_track_parameters_type = free_track_parameters<algebra_t> |
| Free track parameters. | |
| template<std::size_t ROWS, std::size_t COLS> | |
| using | matrix_type = dmatrix<algebra_t, ROWS, COLS> |
| 2D Matrix type | |
| using | point3_type = dpoint3D<algebra_t> |
| Three-dimensional position type. | |
| using | scalar_type = dscalar<algebra_t> |
| Scalar type used for path length and field values. | |
| using | transform3_type = dtransform3D<algebra_t> |
| Three-dimensional transform type associated with the algebra. | |
| using | vector3_type = dvector3D<algebra_t> |
| Three-dimensional direction and field type. | |
Public Member Functions | |
| template<typename field_view_t> requires (!concepts::vector3D<field_view_t>) | |
| helix (const free_track_parameters_type &track, const field_view_t mag_field) | |
| Build a helix using a field view sampled at the track position. | |
| helix (const free_track_parameters_type &track, const vector3_type &mag_field) | |
| Build a helix from a free track state and a uniform field vector. | |
| helix (const point3_type &pos, const scalar_type time, const vector3_type &dir, const scalar_type qop, const vector3_type &mag_field) | |
| Parametrized constructor. | |
| scalar_type | B () const |
| Return the magnitude of the uniform magnetic field. | |
| vector3_type | b_field () const |
| Return the uniform magnetic field vector. | |
| point3_type | dir () const |
| Return the initial unit tangent direction. | |
| vector3_type | dir (const scalar_type s) const |
| Evaluate the unit tangent direction at a path length. | |
| free_matrix_t | jacobian (const scalar_type s) const |
| Compute the free-parameter transport Jacobian at a path length. | |
| point3_type | operator() (const scalar_type s) const |
| Evaluate the helix at a path length. | |
| point3_type | pos () const |
| Return the initial position of the helix. | |
| point3_type | pos (const scalar_type s) const |
| Evaluate the helix position at a path length. | |
| scalar_type | qop () const |
| Return the signed inverse momentum used to define the curvature. | |
| scalar_type | radius () const |
| scalar_type | time () const |
| Return the time at the initial state. | |
describes a helical trajectory in a given B-field.
Helix class for the analytical solution of track propagation in homogeneous B field. This Follows the notation of Eq (4.7) in DOI:10.1007/978-3-030-65771-0
| detray::detail::helix< algebra_t >::helix | ( | const point3_type & | pos, |
| const scalar_type | time, | ||
| const vector3_type & | dir, | ||
| const scalar_type | qop, | ||
| const vector3_type & | mag_field ) |
Parametrized constructor.
| pos | the the origin of the helix |
| time | the time parameter |
| dir | the initial normalized direction for the helix |
| qop | signed inverse momentum of the particle |
| mag_field | the magnetic field vector |
| detray::detail::helix< algebra_t >::helix | ( | const free_track_parameters_type & | track, |
| const vector3_type & | mag_field ) |
Build a helix from a free track state and a uniform field vector.
| track | free track state providing position, direction, time, and q/p |
| mag_field | magnetic field vector at the track position |
| detray::detail::helix< algebra_t >::helix | ( | const free_track_parameters_type & | track, |
| const field_view_t | mag_field ) |
Build a helix using a field view sampled at the track position.
| track | free track state to propagate |
| mag_field | field view sampled at the initial position |
| scalar_type detray::detail::helix< algebra_t >::B | ( | ) | const |
Return the magnitude of the uniform magnetic field.
| vector3_type detray::detail::helix< algebra_t >::b_field | ( | ) | const |
Return the uniform magnetic field vector.
| point3_type detray::detail::helix< algebra_t >::dir | ( | ) | const |
Return the initial unit tangent direction.
| vector3_type detray::detail::helix< algebra_t >::dir | ( | const scalar_type | s | ) | const |
Evaluate the unit tangent direction at a path length.
| s | signed path length from the initial state |
| free_matrix_t detray::detail::helix< algebra_t >::jacobian | ( | const scalar_type | s | ) | const |
Compute the free-parameter transport Jacobian at a path length.
| s | signed path length from the initial state |
| point3_type detray::detail::helix< algebra_t >::operator() | ( | const scalar_type | s | ) | const |
Evaluate the helix at a path length.
| s | signed path length from the initial state |
| point3_type detray::detail::helix< algebra_t >::pos | ( | ) | const |
Return the initial position of the helix.
| point3_type detray::detail::helix< algebra_t >::pos | ( | const scalar_type | s | ) | const |
Evaluate the helix position at a path length.
| s | signed path length from the initial state |
| scalar_type detray::detail::helix< algebra_t >::qop | ( | ) | const |
Return the signed inverse momentum used to define the curvature.
| scalar_type detray::detail::helix< algebra_t >::radius | ( | ) | const |
| scalar_type detray::detail::helix< algebra_t >::time | ( | ) | const |
Return the time at the initial state.