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

Projection into a 2D cartesian coordinate frame. More...

#include <detray/geometry/coordinates/cartesian2D.hpp>

Public Types

using algebra_type = algebra_t
 Algebra backend used by this coordinate frame.
using loc_point = point2_type
 Local point type in 2D cartesian coordinates.
using point2_type = dpoint2D<algebra_t>
 Two-dimensional point type.
using point3_type = dpoint3D<algebra_t>
 Three-dimensional point type.
using scalar_type = dscalar<algebra_t>
 Scalar type associated with the algebra backend.
using transform3_type = dtransform3D<algebra_t>
 Three-dimensional transform type.
using vector3_type = dvector3D<algebra_t>
 Three-dimensional vector type.

Static Public Member Functions

static loc_point global_to_local (const transform3_type &trf, const point3_type &p, const vector3_type &)
 This method transforms a point from a global cartesian 3D frame to a local 2D cartesian point.
static point3_type global_to_local_3D (const transform3_type &trf, const point3_type &p, const vector3_type &)
 This method transforms a point from a global cartesian 3D frame to a local 3D cartesian point.
template<typename mask_t>
static point3_type local_to_global (const transform3_type &trf, const mask_t &, const loc_point &p, const vector3_type &)
 This method transforms from a local 2D cartesian point to a point in the global cartesian 3D frame.
static point3_type local_to_global (const transform3_type &trf, const point3_type &p)
 This method transforms from a local 3D cartesian point to a point in the global cartesian 3D frame.
template<typename mask_t>
static vector3_type normal (const transform3_type &trf, const point2_type &={}, const mask_t &={})
static vector3_type normal (const transform3_type &trf, const point3_type &={})

Detailed Description

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

Projection into a 2D cartesian coordinate frame.

Member Function Documentation

◆ global_to_local()

template<concepts::algebra algebra_t>
loc_point detray::cartesian2D< algebra_t >::global_to_local ( const transform3_type & trf,
const point3_type & p,
const vector3_type &  )
static

This method transforms a point from a global cartesian 3D frame to a local 2D cartesian point.

Parameters
trfSurface transform defining the local frame in global coordinates.
pPoint in global coordinates to transform.
Returns
The point expressed in this local coordinate frame.

◆ global_to_local_3D()

template<concepts::algebra algebra_t>
point3_type detray::cartesian2D< algebra_t >::global_to_local_3D ( const transform3_type & trf,
const point3_type & p,
const vector3_type &  )
static

This method transforms a point from a global cartesian 3D frame to a local 3D cartesian point.

Parameters
trfSurface transform defining the local frame in global coordinates.
pPoint in global coordinates to transform.
Returns
The point expressed in this local coordinate frame.

◆ local_to_global() [1/2]

template<concepts::algebra algebra_t>
template<typename mask_t>
point3_type detray::cartesian2D< algebra_t >::local_to_global ( const transform3_type & trf,
const mask_t & ,
const loc_point & p,
const vector3_type &  )
static

This method transforms from a local 2D cartesian point to a point in the global cartesian 3D frame.

Parameters
trfSurface transform defining the local frame in global coordinates.
pPoint in local coordinates to transform.
Returns
The point expressed in global coordinates.

◆ local_to_global() [2/2]

template<concepts::algebra algebra_t>
point3_type detray::cartesian2D< algebra_t >::local_to_global ( const transform3_type & trf,
const point3_type & p )
static

This method transforms from a local 3D cartesian point to a point in the global cartesian 3D frame.

Parameters
trfSurface transform defining the local frame in global coordinates.
pPoint in local coordinates to transform.
Returns
The point expressed in global coordinates.

◆ normal() [1/2]

template<concepts::algebra algebra_t>
template<typename mask_t>
vector3_type detray::cartesian2D< algebra_t >::normal ( const transform3_type & trf,
const point2_type & = {},
const mask_t & = {} )
static
Returns
the normal vector in global coordinates
Parameters
trfSurface transform defining the local frame in global coordinates.
Returns
The surface normal expressed in global coordinates.

◆ normal() [2/2]

template<concepts::algebra algebra_t>
vector3_type detray::cartesian2D< algebra_t >::normal ( const transform3_type & trf,
const point3_type & = {} )
static
Returns
the normal vector in global coordinates
Parameters
trfSurface transform defining the local frame in global coordinates.
Returns
The surface normal expressed in global coordinates.