EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::Ray< value_t, DIM > Class Template Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Utilities/Ray.hpp>

Public Types

using value_type = value_t
 Re expose the value type.
 
using VertexType = ActsVector< value_t, DIM >
 Vertex type based on the value type and dimension.
 
using vertex_array_type = Eigen::Array< value_t, DIM, 1 >
 Vertex array type corresponding to the vertex type.
 
using transform_type = Eigen::Transform< value_t, DIM, Eigen::Affine >
 Associated transform type.
 

Public Member Functions

 Ray (const VertexType &origin, const VertexType &dir)
 
const VertexTypeorigin () const
 
const VertexTypedir () const
 
const vertex_array_typeidir () const
 
Ray< value_t, DIMtransformed (const transform_type &trf) const
 
std::ostream & toStream (std::ostream &os) const
 
template<size_t D = DIM, std::enable_if_t< D==3, int > = 0>
void draw (IVisualization3D &helper, value_type far_distance=10) const
 

Private Attributes

VertexType m_origin
 
VertexType m_dir
 
vertex_array_type m_idir
 

Detailed Description

template<typename value_t, size_t DIM>
class Acts::Ray< value_t, DIM >

Class which models a ray. It is defined by a starting point and a direction.

Template Parameters
value_tThe floating point type to use
DIMThe number of dimensions in which this ray is defined (2 or 3)

Definition at line 21 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 21 of file Ray.hpp

Member Typedef Documentation

template<typename value_t, size_t DIM>
using Acts::Ray< value_t, DIM >::transform_type = Eigen::Transform<value_t, DIM, Eigen::Affine>

Associated transform type.

Definition at line 30 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 30 of file Ray.hpp

template<typename value_t, size_t DIM>
using Acts::Ray< value_t, DIM >::value_type = value_t

Re expose the value type.

Definition at line 24 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 24 of file Ray.hpp

template<typename value_t, size_t DIM>
using Acts::Ray< value_t, DIM >::vertex_array_type = Eigen::Array<value_t, DIM, 1>

Vertex array type corresponding to the vertex type.

Definition at line 28 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 28 of file Ray.hpp

template<typename value_t, size_t DIM>
using Acts::Ray< value_t, DIM >::VertexType = ActsVector<value_t, DIM>

Vertex type based on the value type and dimension.

Definition at line 26 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 26 of file Ray.hpp

Constructor & Destructor Documentation

template<typename value_t , size_t DIM>
Acts::Ray< value_t, DIM >::Ray ( const VertexType origin,
const VertexType dir 
)

Constructor from an origin point and a direction

Parameters
originThe origin of the ray
dirThe direction of the ray

Definition at line 12 of file Ray.ipp.

View newest version in sPHENIX GitHub at line 12 of file Ray.ipp

Member Function Documentation

template<typename value_t, size_t DIM>
const VertexType& Acts::Ray< value_t, DIM >::dir ( ) const
inline

Getter for the direction

Returns
The direction

Definition at line 43 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 43 of file Ray.hpp

References Acts::Ray< value_t, DIM >::m_dir.

template<typename value_t , size_t DIM>
template<size_t D, std::enable_if_t< D==3, int > >
void Acts::Ray< value_t, DIM >::draw ( IVisualization3D helper,
value_type  far_distance = 10 
) const

Helper to draw this ray using a given visualization helper.

Parameters
helperThe visualization helper
far_distanceThe "length" of the drawn line representing the ray

Definition at line 43 of file Ray.ipp.

View newest version in sPHENIX GitHub at line 43 of file Ray.ipp

References DIM, and Acts::IVisualization3D::line().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename value_t, size_t DIM>
const vertex_array_type& Acts::Ray< value_t, DIM >::idir ( ) const
inline

Getter for the element wise inverse of the direction.

Returns
The element wise inverse.

Definition at line 47 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 47 of file Ray.hpp

References Acts::Ray< value_t, DIM >::m_idir.

Referenced by Acts::AxisAlignedBoundingBox< entity_t, value_t, DIM >::intersect(), and pystrf().

+ Here is the caller graph for this function:

template<typename value_t, size_t DIM>
const VertexType& Acts::Ray< value_t, DIM >::origin ( ) const
inline

Getter for the origin

Returns
The origin

Definition at line 39 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 39 of file Ray.hpp

References Acts::Ray< value_t, DIM >::m_origin.

Referenced by Acts::AxisAlignedBoundingBox< entity_t, value_t, DIM >::intersect().

+ Here is the caller graph for this function:

template<typename value_t , size_t DIM>
std::ostream & Acts::Ray< value_t, DIM >::toStream ( std::ostream &  os) const

Write information on this instance to an outstream.

Parameters
osThe out stream
Returns
The out stream given as a nargument

Definition at line 15 of file Ray.ipp.

View newest version in sPHENIX GitHub at line 15 of file Ray.ipp

References DIM.

template<typename value_t , size_t DIM>
Acts::Ray< value_t, DIM > Acts::Ray< value_t, DIM >::transformed ( const transform_type trf) const

Transforms this ray using a given transform and returns a new instance

Parameters
trfThe transform to apply
Returns
Copy of this ray with the transform applied

Definition at line 36 of file Ray.ipp.

View newest version in sPHENIX GitHub at line 36 of file Ray.ipp

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

Member Data Documentation

template<typename value_t, size_t DIM>
VertexType Acts::Ray< value_t, DIM >::m_dir
private

Definition at line 67 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 67 of file Ray.hpp

Referenced by Acts::Ray< value_t, DIM >::dir().

template<typename value_t, size_t DIM>
vertex_array_type Acts::Ray< value_t, DIM >::m_idir
private

Definition at line 68 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 68 of file Ray.hpp

Referenced by Acts::Ray< value_t, DIM >::idir().

template<typename value_t, size_t DIM>
VertexType Acts::Ray< value_t, DIM >::m_origin
private

Definition at line 66 of file Ray.hpp.

View newest version in sPHENIX GitHub at line 66 of file Ray.hpp

Referenced by Acts::Ray< value_t, DIM >::origin().


The documentation for this class was generated from the following files: