|
| template<concepts::detector detector_t> |
| | state (const bound_track_parameters_type &bound_params, const magnetic_field_t &mag_field, const detector_t &det, const typename detector_t::geometry_context &ctx) |
| | Construct from bound parameters, field, and detector geometry.
|
| | state (const free_track_parameters_type &t, const magnetic_field_t &mag_field) |
| | Construct from free parameters and a magnetic field.
|
| scalar_type | d2qopdsdqop (const scalar_type qop, const material< scalar_type > *vol_mat_ptr) const |
| | Evaluate d(d(qop)/ds)dqop.
|
| scalar_type | dqopds (const material< scalar_type > *vol_mat_ptr) const |
| | Evaluate d(qop)/ds.
|
| void | dqopds (const scalar_type &s) |
| | Set d(qop)/ds.
|
| scalar_type | dqopds (const scalar_type qop, const material< scalar_type > *vol_mat_ptr) const |
| | Evaluate the charge-over-momentum derivative at a supplied value.
|
| vector3_type | dtds () const |
| | Evaluate dtds, where t is the unit tangential direction.
|
| void | dtds (const vector3_type &v) |
| | Set dtds, where t is the unit tangential direction.
|
| const magnetic_field_type & | field () const |
| scalar_type | next_step_size () const |
| template<typename... Args> |
| void | run_inspector (const stepping::config &cfg, const char *message, const scalar_type dist, Args &&... args) |
| | Call the stepping inspector.
|
| void | set_next_step_size (const scalar_type step) |
| | Set the next step size.
|
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
struct detray::rk_stepper< magnetic_field_t, algebra_t, constraint_t, policy_t, inspector_t, flags_v >::state
Per-track integration state maintained by the stepper.
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
| using detray::rk_stepper< magnetic_field_t, algebra_t, constraint_t, policy_t, inspector_t, flags_v >::state::base_state |
Initial value:
state(const free_track_parameters_type &t, const magnetic_field_t &mag_field)
Construct from free parameters and a magnetic field.
Definition rk_stepper.hpp:121
Base state holding common track and transport data.
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
Construct from free parameters and a magnetic field.
- Parameters
-
| t | Initial free track parameters. |
| mag_field | Magnetic field used for integration. |
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
template<concepts::detector detector_t>
| detray::rk_stepper< magnetic_field_t, algebra_t, constraint_t, policy_t, inspector_t, flags_v >::state::state |
( |
const bound_track_parameters_type & | bound_params, |
|
|
const magnetic_field_t & | mag_field, |
|
|
const detector_t & | det, |
|
|
const typename detector_t::geometry_context & | ctx ) |
Construct from bound parameters, field, and detector geometry.
- Parameters
-
| bound_params | Initial bound track parameters. |
| mag_field | Magnetic field used for integration. |
| det | Detector used to resolve bound parameters. |
| ctx | Geometry context for detector transforms. |
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
Evaluate d(d(qop)/ds)dqop.
- Parameters
-
| qop | Charge-over-momentum at which to evaluate. |
| vol_mat_ptr | Material in the current volume, or null in vacuum. |
- Returns
- Derivative of the charge-over-momentum derivative.
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
Evaluate the charge-over-momentum derivative at a supplied value.
- Parameters
-
| qop | Charge-over-momentum at which to evaluate. |
| vol_mat_ptr | Material in the current volume, or null in vacuum. |
- Returns
- Derivative of charge-over-momentum with path length.
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
Evaluate dtds, where t is the unit tangential direction.
- Returns
- Direction derivative at the current track state.
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
Set dtds, where t is the unit tangential direction.
- Parameters
-
template<typename magnetic_field_t, concepts::algebra algebra_t, typename constraint_t = unconstrained_step<dscalar<algebra_t>>, typename policy_t = stepper_rk_policy<dscalar<algebra_t>>, typename inspector_t = stepping::void_inspector, std::uint32_t flags_v = (static_cast<std::uint32_t>( rk_stepper_flags::e_allow_covariance_transport) | static_cast<std::uint32_t>( rk_stepper_flags::e_allow_field_gradient))>
template<typename... Args>
Call the stepping inspector.
- Parameters
-
| cfg | Stepping configuration. |
| message | Diagnostic label. |
| dist | Distance to the next surface. |
| args | Additional inspector-specific data. |