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

Six-component parameter vector expressed in a surface-bound coordinate frame. More...

#include <detray/tracks/bound_track_parameters.hpp>

Inheritance diagram for detray::bound_parameters_vector< algebra_t >:
[legend]

Public Types

Type definitions for the struct
using algebra_type = algebra_t
 Algebra backend used for the vector operations.
using scalar_type = dscalar<algebra_t>
 Scalar type used by the stored parameters.
using point2_type = dpoint2D<algebra_t>
 Two-dimensional type for local surface coordinates.
using vector3_type = dvector3D<algebra_t>
 Three-dimensional type for directions and momentum.
using vector_type = bound_vector<algebra_t>
 Fixed-size vector storing the six bound parameters.

Public Member Functions

 bound_parameters_vector ()=default
 Default constructor.
 bound_parameters_vector (const point2_type &loc_p, const scalar_type phi, const scalar_type theta, const scalar_type qop, const scalar_type t)
 Construct from single parameters.
 bound_parameters_vector (const vector_type &vec)
 Construct from a 6-dim vector of parameters.
point2_type bound_local () const
vector3_type dir () const
constexpr bool is_invalid (const bool do_check=true) const
vector3_type mom (const scalar_type q) const
bool operator== (const bound_parameters_vector &rhs) const
 Compare all six bound parameters within scalar precision.
decltype(auto) operator[] (const std::size_t i)
 Convenience access to the track parameters - non-const.
scalar_type operator[] (const std::size_t i) const
 Convenience access to the track parameters - const.
scalar_type p (const scalar_type q) const
scalar_type phi () const
scalar_type pT (const scalar_type q) const
scalar_type pz (const scalar_type q) const
scalar_type qop () const
scalar_type qopT () const
scalar_type qopz () const
void set_bound_local (const point2_type &pos)
 Set the bound local position.
void set_phi (const scalar_type phi)
 Set the global phi angle.
void set_qop (const scalar_type qop)
 Set the q/p value.
void set_theta (const scalar_type theta)
 Set the global theta angle.
void set_time (const scalar_type t)
 Set the time.
void set_vector (const vector_type &v, const bool skip_check=false)
 Set the underlying vector.
scalar_type theta () const
scalar_type time () const
vector_type & vector ()
 Access the track parameters as a 6-dim vector - non-const.
const vector_type & vector () const
 Access the track parameters as a 6-dim vector - const.

Detailed Description

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

Six-component parameter vector expressed in a surface-bound coordinate frame.

Constructor & Destructor Documentation

◆ bound_parameters_vector() [1/2]

template<concepts::algebra algebra_t>
detray::bound_parameters_vector< algebra_t >::bound_parameters_vector ( const vector_type & vec)
explicit

Construct from a 6-dim vector of parameters.

Parameters
vecvector containing the bound parameters in canonical order

◆ bound_parameters_vector() [2/2]

template<concepts::algebra algebra_t>
detray::bound_parameters_vector< algebra_t >::bound_parameters_vector ( const point2_type & loc_p,
const scalar_type phi,
const scalar_type theta,
const scalar_type qop,
const scalar_type t )

Construct from single parameters.

Parameters
loc_pthe bound local position
phithe global phi angle of the track direction
thetathe global theta angle of the track direction
qopthe q/p value
tthe time

Member Function Documentation

◆ bound_local()

template<concepts::algebra algebra_t>
point2_type detray::bound_parameters_vector< algebra_t >::bound_local ( ) const
Returns
the bound local position

◆ dir()

template<concepts::algebra algebra_t>
vector3_type detray::bound_parameters_vector< algebra_t >::dir ( ) const
Returns
the global track direction

◆ is_invalid()

template<concepts::algebra algebra_t>
bool detray::bound_parameters_vector< algebra_t >::is_invalid ( const bool do_check = true) const
constexpr
Parameters
do_checktoggle checking (e.g. don't trigger assertions for documented errors)
Returns
true if the parameter vector contains invalid elements

◆ mom()

template<concepts::algebra algebra_t>
vector3_type detray::bound_parameters_vector< algebra_t >::mom ( const scalar_type q) const
Parameters
qparticle charge
Returns
the global momentum 3-vector

◆ operator==()

template<concepts::algebra algebra_t>
bool detray::bound_parameters_vector< algebra_t >::operator== ( const bound_parameters_vector< algebra_t > & rhs) const

Compare all six bound parameters within scalar precision.

Parameters
rhsparameter vector to compare with this vector
Returns
whether every component agrees within machine precision

◆ operator[]() [1/2]

template<concepts::algebra algebra_t>
decltype(auto) detray::bound_parameters_vector< algebra_t >::operator[] ( const std::size_t i)

Convenience access to the track parameters - non-const.

Parameters
iindex in the bound parameter vector
Returns
a reference to the selected parameter

◆ operator[]() [2/2]

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::operator[] ( const std::size_t i) const

Convenience access to the track parameters - const.

Parameters
iindex in the bound parameter vector
Returns
the selected parameter value

◆ p()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::p ( const scalar_type q) const
Parameters
qparticle charge
Returns
the absolute momentum

◆ phi()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::phi ( ) const
Returns
the global phi angle

◆ pT()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::pT ( const scalar_type q) const
Parameters
qparticle charge
Returns
the transverse momentum

◆ pz()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::pz ( const scalar_type q) const
Parameters
qparticle charge
Returns
the absolute momentum z-component

◆ qop()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::qop ( ) const
Returns
the q/p value

◆ qopT()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::qopT ( ) const
Returns
the q/p_T value

◆ qopz()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::qopz ( ) const
Returns
the q/p_z value

◆ set_bound_local()

template<concepts::algebra algebra_t>
void detray::bound_parameters_vector< algebra_t >::set_bound_local ( const point2_type & pos)

Set the bound local position.

Parameters
posnew local position

◆ set_phi()

template<concepts::algebra algebra_t>
void detray::bound_parameters_vector< algebra_t >::set_phi ( const scalar_type phi)

Set the global phi angle.

Parameters
phiazimuth in radians

◆ set_qop()

template<concepts::algebra algebra_t>
void detray::bound_parameters_vector< algebra_t >::set_qop ( const scalar_type qop)

Set the q/p value.

Parameters
qopsigned charge divided by momentum

◆ set_theta()

template<concepts::algebra algebra_t>
void detray::bound_parameters_vector< algebra_t >::set_theta ( const scalar_type theta)

Set the global theta angle.

Parameters
thetapolar angle in radians

◆ set_time()

template<concepts::algebra algebra_t>
void detray::bound_parameters_vector< algebra_t >::set_time ( const scalar_type t)

Set the time.

Parameters
ttime value

◆ set_vector()

template<concepts::algebra algebra_t>
void detray::bound_parameters_vector< algebra_t >::set_vector ( const vector_type & v,
const bool skip_check = false )

Set the underlying vector.

Parameters
vnew parameter vector
skip_checkbypass the validity assertion when true

◆ theta()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::theta ( ) const
Returns
the global theta angle

◆ time()

template<concepts::algebra algebra_t>
scalar_type detray::bound_parameters_vector< algebra_t >::time ( ) const
Returns
the time

◆ vector() [1/2]

template<concepts::algebra algebra_t>
vector_type & detray::bound_parameters_vector< algebra_t >::vector ( )

Access the track parameters as a 6-dim vector - non-const.

Returns
a reference to the stored vector

◆ vector() [2/2]

template<concepts::algebra algebra_t>
const vector_type & detray::bound_parameters_vector< algebra_t >::vector ( ) const

Access the track parameters as a 6-dim vector - const.

Returns
a const reference to the stored vector