ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::step_record< algebra_t > Struct Template Reference

Data for a single step. More...

#include <detray/test/utils/data_record.hpp>

Inheritance diagram for detray::step_record< algebra_t >:
[legend]
Collaboration diagram for detray::step_record< algebra_t >:
[legend]

Public Types

using algebra_type = dalgebra<algebra_t, double>
 Algebra type used to store values in double precision.
using bound_param_type = bound_track_parameters<algebra_t>
 Bound track parameter type stored by the record.
using free_matrix_type = free_matrix<algebra_t>
 Free track matrix type stored by the record.
using scalar_type = dscalar<algebra_t>
 Scalar type used by the record.
using track_param_type = free_track_parameters<algebra_t>
 Free track parameter type stored by the record.
using value_t = dvalue<algebra_t>
 Value type associated with the algebra.
using vector3_type = dvector3D<algebra_t>
 3D vector type used by the record.

Public Member Functions

template<concepts::value V = value_t>
scalar_type step_size () const
 GettersGet the step size.
template<concepts::value V = value_t>
scalar_type path_length () const
 Get the accumulated path length.
std::size_t n_trials () const
 Get the number of propagation trials.
navigation::direction nav_direction () const
 Get the navigation direction.
geometry::identifier identifier () const
 Get the geometry identifier.
template<concepts::value V = value_t>
track_param_type free_param () const
 Get the free track parameters.
template<concepts::value V = value_t>
bound_param_type bound_param () const
 Get the bound track parameters.
template<concepts::value V = value_t>
free_matrix_type jacobian () const
 Get the transport Jacobian.
void step_size (const scalar_type step_size)
 SettersSet the step size.
void path_length (const scalar_type path_length)
 Set the accumulated path length.
void n_trials (const std::size_t n_trial)
 Set the number of propagation trials.
void nav_direction (const navigation::direction nav_dir)
 Set the navigation direction.
void identifier (const geometry::identifier geo_id)
 Set the geometry identifier.
template<typename free_param_t>
void free_param (const free_param_t &param)
 Set the free track parameters.
template<typename bound_param_t>
void bound_param (const bound_param_t &param)
 Set the bound track parameters.
template<typename jacobian_t>
void jacobian (const jacobian_t &jac)
 Set the transport Jacobian.

Public Attributes

bound_param_type m_bound_params {}
 Bound track parameters at this step.
track_param_type m_free_params {}
 Free track parameters at this step.
geometry::identifier m_identifier {}
 Geometry identifier of the current surface.
free_matrix_type m_jacobian {}
 Transport Jacobian at this step.
std::size_t m_n_total_trials {0u}
 Number of propagation trials.
navigation::direction m_nav_dir = navigation::direction::e_forward
 Navigation direction.
scalar_type m_path_length {0.}
 Accumulated path length at this step.
scalar_type m_step_size {0.}
 Step size at this step.

Detailed Description

template<concepts::algebra algebra_t>
struct detray::step_record< algebra_t >

Data for a single step.

Member Function Documentation

◆ bound_param() [1/2]

template<concepts::algebra algebra_t>
template<concepts::value V = value_t>
bound_param_type detray::step_record< algebra_t >::bound_param ( ) const

Get the bound track parameters.

Returns
Bound track parameters.

◆ bound_param() [2/2]

template<concepts::algebra algebra_t>
template<typename bound_param_t>
void detray::step_record< algebra_t >::bound_param ( const bound_param_t & param)

Set the bound track parameters.

Parameters
paramNew bound track parameters.

◆ free_param() [1/2]

template<concepts::algebra algebra_t>
template<concepts::value V = value_t>
track_param_type detray::step_record< algebra_t >::free_param ( ) const

Get the free track parameters.

Returns
Free track parameters.

◆ free_param() [2/2]

template<concepts::algebra algebra_t>
template<typename free_param_t>
void detray::step_record< algebra_t >::free_param ( const free_param_t & param)

Set the free track parameters.

Parameters
paramNew free track parameters.

◆ identifier() [1/2]

template<concepts::algebra algebra_t>
geometry::identifier detray::step_record< algebra_t >::identifier ( ) const

Get the geometry identifier.

Returns
Geometry identifier.

◆ identifier() [2/2]

template<concepts::algebra algebra_t>
void detray::step_record< algebra_t >::identifier ( const geometry::identifier geo_id)

Set the geometry identifier.

Parameters
geo_idNew geometry identifier.

◆ jacobian() [1/2]

template<concepts::algebra algebra_t>
template<concepts::value V = value_t>
free_matrix_type detray::step_record< algebra_t >::jacobian ( ) const

Get the transport Jacobian.

Returns
Transport Jacobian.

◆ jacobian() [2/2]

template<concepts::algebra algebra_t>
template<typename jacobian_t>
void detray::step_record< algebra_t >::jacobian ( const jacobian_t & jac)

Set the transport Jacobian.

Parameters
jacNew Jacobian.

◆ n_trials() [1/2]

template<concepts::algebra algebra_t>
std::size_t detray::step_record< algebra_t >::n_trials ( ) const

Get the number of propagation trials.

Returns
Number of trials.

◆ n_trials() [2/2]

template<concepts::algebra algebra_t>
void detray::step_record< algebra_t >::n_trials ( const std::size_t n_trial)

Set the number of propagation trials.

Parameters
n_trialNew number of trials.

◆ nav_direction() [1/2]

template<concepts::algebra algebra_t>
navigation::direction detray::step_record< algebra_t >::nav_direction ( ) const

Get the navigation direction.

Returns
Navigation direction.

◆ nav_direction() [2/2]

template<concepts::algebra algebra_t>
void detray::step_record< algebra_t >::nav_direction ( const navigation::direction nav_dir)

Set the navigation direction.

Parameters
nav_dirNew navigation direction.

◆ path_length() [1/2]

template<concepts::algebra algebra_t>
template<concepts::value V = value_t>
scalar_type detray::step_record< algebra_t >::path_length ( ) const

Get the accumulated path length.

Returns
Accumulated path length.

◆ path_length() [2/2]

template<concepts::algebra algebra_t>
void detray::step_record< algebra_t >::path_length ( const scalar_type path_length)

Set the accumulated path length.

Parameters
path_lengthNew path length.

◆ step_size() [1/2]

template<concepts::algebra algebra_t>
template<concepts::value V = value_t>
scalar_type detray::step_record< algebra_t >::step_size ( ) const

GettersGet the step size.

Returns
Step size.

◆ step_size() [2/2]

template<concepts::algebra algebra_t>
void detray::step_record< algebra_t >::step_size ( const scalar_type step_size)

SettersSet the step size.

Parameters
step_sizeNew step size.