ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t > Class Template Referencefinal

Straight line stepper implementation. More...

#include <detray/propagator/line_stepper.hpp>

Inheritance diagram for detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >:
[legend]
Collaboration diagram for detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >:
[legend]

Classes

struct  state
 State carried by the straight-line stepper. More...

Public Types

using algebra_type = algebra_t
 Algebra backend used by the stepper.
using bound_track_parameters_type
 Bound track parameter representation.
using free_track_parameters_type
 Free track parameter representation.
template<std::size_t ROWS, std::size_t COLS>
using matrix_type = dmatrix<algebra_t, ROWS, COLS>
 Matrix type with dimensions selected by the template arguments.
using scalar_type = dscalar<algebra_t>
 Scalar type for step lengths and material derivatives.
using transform3_type = dtransform3D<algebra_t>
 Three-dimensional transform type.
using vector3_type = dvector3D<algebra_t>
 Three-dimensional vector type.

Public Member Functions

bool step (const scalar_type dist_to_next, state &stepping, const stepping::config &cfg, const bool=true, const material< scalar_type > *=nullptr) const
 Take a step, regulared by a constrained step.

Static Public Attributes

static constexpr bool uses_gradient = true
 This stepper has a nonzero position-direction transport gradient.

Detailed Description

template<concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_default_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector>
class detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >

Straight line stepper implementation.

Member Typedef Documentation

◆ bound_track_parameters_type

template<concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_default_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector>
using detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >::bound_track_parameters_type
Initial value:
bound_track_parameters< algebra_t > bound_track_parameters_type
Definition base_stepper.hpp:57

Bound track parameter representation.

◆ free_track_parameters_type

template<concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_default_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector>
using detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >::free_track_parameters_type
Initial value:
free_track_parameters< algebra_t > free_track_parameters_type
Definition base_stepper.hpp:55

Free track parameter representation.

Member Function Documentation

◆ step()

template<concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_default_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector>
bool detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >::step ( const scalar_type dist_to_next,
state & stepping,
const stepping::config & cfg,
const bool = true,
const material< scalar_type > * = nullptr ) const

Take a step, regulared by a constrained step.

Parameters
dist_to_nextThe straight line distance to the next surface
steppingThe state object of a stepper
cfgThe stepping configuration
Returns
returning the heartbeat, indicating if the stepping is alive