ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::detail::ray< algebra_t > Class Template Reference

describes a straight-line trajectory More...

#include <detray/tracks/ray.hpp>

Inheritance diagram for detray::detail::ray< algebra_t >:
[legend]

Public Types

using algebra_type = algebra_t
 Algebra backend used by the ray calculations.
using point3_type = dpoint3D<algebra_type>
 Three-dimensional position type.
using scalar_type = dscalar<algebra_type>
 Scalar type used for path length.
using transform3_type = dtransform3D<algebra_type>
 Three-dimensional transform type associated with the algebra.
using vector3_type = dvector3D<algebra_type>
 Three-dimensional direction type.

Public Member Functions

template<typename A>
 ray (const free_track_parameters< A > &track)
 Parametrized constructor that complies with track interface.
 ray (const point3_type &pos, const scalar_type, const vector3_type &dir, const scalar_type)
 Parametrized constructor that complies with track interface.
 ray (point3_type &&pos, vector3_type &&dir)
 Parametrized constructor from a position and direction.
const vector3_type & dir () const
 Return the ray direction.
const vector3_type & dir (const scalar_type) const
 Return the constant direction at any path length.
const point3_type & pos () const
 Return the ray origin.
point3_type pos (const scalar_type s) const
 Evaluate the ray at a path length.
constexpr scalar_type qop () const
void set_dir (vector3_type dir)
void set_pos (point3_type pos)
 Set the ray origin.

Detailed Description

template<concepts::algebra algebra_t>
class detray::detail::ray< algebra_t >

describes a straight-line trajectory

Constructor & Destructor Documentation

◆ ray() [1/3]

template<concepts::algebra algebra_t>
detray::detail::ray< algebra_t >::ray ( point3_type && pos,
vector3_type && dir )

Parametrized constructor from a position and direction.

Parameters
posthe track position
dirthe track momentum direction

◆ ray() [2/3]

template<concepts::algebra algebra_t>
detray::detail::ray< algebra_t >::ray ( const point3_type & pos,
const scalar_type ,
const vector3_type & dir,
const scalar_type  )

Parametrized constructor that complies with track interface.

Parameters
posthe track position
dirthe track momentum direction

◆ ray() [3/3]

template<concepts::algebra algebra_t>
template<typename A>
detray::detail::ray< algebra_t >::ray ( const free_track_parameters< A > & track)
explicit

Parametrized constructor that complies with track interface.

Parameters
trackthe track state that should be approximated

Member Function Documentation

◆ dir() [1/2]

template<concepts::algebra algebra_t>
const vector3_type & detray::detail::ray< algebra_t >::dir ( ) const

Return the ray direction.

Returns
direction of the ray (compatible with tracks/intersectors)

◆ dir() [2/2]

template<concepts::algebra algebra_t>
const vector3_type & detray::detail::ray< algebra_t >::dir ( const scalar_type ) const

Return the constant direction at any path length.

Returns
stored direction vector

◆ pos() [1/2]

template<concepts::algebra algebra_t>
const point3_type & detray::detail::ray< algebra_t >::pos ( ) const

Return the ray origin.

Returns
position on the ray (compatible with tracks/intersectors)

◆ pos() [2/2]

template<concepts::algebra algebra_t>
point3_type detray::detail::ray< algebra_t >::pos ( const scalar_type s) const

Evaluate the ray at a path length.

Parameters
ssigned distance from the origin
Returns
position on the ray parameterized by path length

◆ qop()

template<concepts::algebra algebra_t>
scalar_type detray::detail::ray< algebra_t >::qop ( ) const
constexpr
Returns
the q over p value: Zero for ray

◆ set_dir()

template<concepts::algebra algebra_t>
void detray::detail::ray< algebra_t >::set_dir ( vector3_type dir)
Parameters
dirnew direction of the ray

◆ set_pos()

template<concepts::algebra algebra_t>
void detray::detail::ray< algebra_t >::set_pos ( point3_type pos)

Set the ray origin.

Parameters
posnew position on the ray