ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >::state Struct Reference

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

#include <detray/propagator/line_stepper.hpp>

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

Public Types

using base_state = typename base_type::template state<>
 Base state providing common track, path, and constraint storage.

Public Member Functions

void advance_jacobian ()
 Advance the free-parameter transport Jacobian for a straight segment.
void advance_track ()
 Update the track state in a straight line.
constexpr scalar_type dqopds (const material< scalar_type > *) const
 Derivative of q/p with respect to path length in vacuum.
constexpr vector3_type dtds () const
 Derivative of time with respect to path length for straight motion.

Static Public Attributes

static constexpr const stepping::id id = stepping::id::e_linear
 Stepper identifier used by propagation diagnostics.

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>
struct detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >::state

State carried by the straight-line stepper.

Member Function Documentation

◆ dqopds()

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>
scalar_type detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >::state::dqopds ( const material< scalar_type > * ) const
constexpr

Derivative of q/p with respect to path length in vacuum.

Returns
Zero because this stepper does not model energy loss.

◆ dtds()

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>
vector3_type detray::line_stepper< algebra_t, constraint_t, policy_t, inspector_t >::state::dtds ( ) const
constexpr

Derivative of time with respect to path length for straight motion.

Returns
Zero time derivative for this straight-line model.