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

Projection into a 3D cylindrical coordinate frame. More...

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

Public Types

using algebra_type = algebra_t
 Algebra backend used by this coordinate frame.
using loc_point = point3_type
 Local point type in 3D cylindrical 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 vector2_type = dvector2D<algebra_t>
 Two-dimensional vector 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 3D cylindrical point.
static point3_type global_to_local_3D (const transform3_type &trf, const point3_type &p, const vector3_type &dir)
 This method transforms a point from a global cartesian 3D frame to a local 3D cylindrical 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 3D cylindrical 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 cylindrical point to a point in the global cartesian 3D frame.
static vector3_type normal (const transform3_type &trf, const point3_type &p)
 Evaluate the surface normal at a local cylindrical position.

Detailed Description

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

Projection into a 3D cylindrical coordinate frame.

Member Function Documentation

◆ global_to_local()

template<concepts::algebra algebra_t>
loc_point detray::cylindrical3D< 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 3D cylindrical 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::cylindrical3D< algebra_t >::global_to_local_3D ( const transform3_type & trf,
const point3_type & p,
const vector3_type & dir )
static

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

Parameters
trfSurface transform defining the local frame in global coordinates.
pPoint in global coordinates to transform.
dirDirection passed to the coordinate conversion; some frames ignore it.
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::cylindrical3D< 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 3D cylindrical point to a point in the global cartesian 3D frame.

Parameters
trfSurface transform defining the local frame in global coordinates.
pLocal cylindrical coordinates. The mask and direction arguments are accepted to match the generic frame interface, but this frame does not use them.
Returns
The converted point.

◆ local_to_global() [2/2]

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

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

Parameters
trfSurface transform defining the local frame in global coordinates.
pLocal cylindrical coordinates (radius, azimuth, and z).
Returns
The point expressed in global coordinates.

◆ normal()

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

Evaluate the surface normal at a local cylindrical position.

Parameters
trfSurface transform defining the local frame in global coordinates.
pLocal position where the normal is evaluated.
Returns
the normal vector in global coordinates given a local position