Rosetta  2020.11
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
numeric::sphericalVector< typename > Class Template Reference

sphericalVector: Fast spherical-coordinate numeric vector More...

#include <sphericalVector.hh>

Public Types

typedef T Value
 
typedef TReference
 
typedef T const & ConstReference
 
typedef TPointer
 
typedef T const * ConstPointer
 
typedef T value_type
 
typedef Treference
 
typedef T const & const_reference
 
typedef Tpointer
 
typedef T const * const_pointer
 
typedef void iterator_category
 
typedef void difference_type
 

Public Member Functions

 sphericalVector ()
 Default constructor. More...
 
 sphericalVector (sphericalVector const &v)
 Copy constructor. More...
 
template<typename U >
 sphericalVector (sphericalVector< U > const &v)
 Copy constructor. More...
 
 sphericalVector (Value const &phi_a, Value const &theta_a, Value const &radius_a)
 Triple value constructor. More...
 
template<typename U >
 sphericalVector (U const *p)
 Pointer to contiguous values constructor. More...
 
 ~sphericalVector ()
 Destructor. More...
 
sphericalVectoroperator= (sphericalVector const &v)
 Copy assignment. More...
 
template<typename U >
sphericalVectoroperator= (sphericalVector< U > const &v)
 Copy assignment. More...
 
template<typename U >
sphericalVectoroperator= (U const *p)
 Assignment from pointer to contiguous values. More...
 
template<typename U >
sphericalVectoroperator+= (sphericalVector< U > const &v)
 += xyzVector More...
 
template<typename U >
sphericalVectoroperator-= (sphericalVector< U > const &v)
 -= xyzVector More...
 
template<typename U >
sphericalVectorscaled_assign (Value const &t, sphericalVector< U > const &v)
 Assign Value * xyzVector. More...
 
template<typename U >
sphericalVectorscaled_add (Value const &t, sphericalVector< U > const &v)
 Add Value * xyzVector. More...
 
template<typename U >
sphericalVectorscaled_sub (Value const &t, sphericalVector< U > const &v)
 Subtract Value * xyzVector. More...
 
sphericalVectoroperator= (Value const &t)
 = Value More...
 
sphericalVectoroperator+= (Value const &t)
 += Value More...
 
sphericalVectoroperator-= (Value const &t)
 -= Value More...
 
sphericalVectoroperator*= (Value const &t)
 *= Value More...
 
sphericalVectoroperator/= (Value const &t)
 /= Value More...
 
sphericalVectorassign (Value const &phi_a, Value const &theta_a, Value const &radius_a)
 Triple value assignment. More...
 
sphericalVectorclear ()
 Clear. More...
 
sphericalVectorzero ()
 Zero. More...
 
sphericalVectormin (sphericalVector const &v)
 Set minimum coordinates wrt another xyzVector. More...
 
sphericalVectormax (sphericalVector const &v)
 Set maximum coordinates wrt another xyzVector. More...
 
Value const & phi () const
 Value x const. More...
 
Valuephi ()
 Value x. More...
 
Value const & theta () const
 Value y const. More...
 
Valuetheta ()
 Value y. More...
 
Value const & radius () const
 Value z const. More...
 
Valueradius ()
 Value z. More...
 
void phi (Value const &phi_a)
 x assignment More...
 
void theta (Value const &theta_a)
 y assignment More...
 
void radius (Value const &radius_a)
 z assignment More...
 

Private Attributes

Value phi_
 Coordinates of the 3 coordinate vector. More...
 
Value theta_
 
Value radius_
 

Friends

sphericalVector operator+ (sphericalVector const &a, sphericalVector const &b)
 sphericalVector + sphericalVector More...
 
sphericalVector operator+ (sphericalVector const &v, Value const &t)
 sphericalVector + Value More...
 
sphericalVector operator+ (Value const &t, sphericalVector const &v)
 Value + sphericalVector. More...
 
sphericalVector operator- (sphericalVector const &a, sphericalVector const &b)
 sphericalVector - sphericalVector More...
 
sphericalVector operator- (sphericalVector const &v, Value const &t)
 sphericalVector - Value More...
 
sphericalVector operator- (Value const &t, sphericalVector const &v)
 Value - sphericalVector. More...
 
sphericalVector operator* (sphericalVector const &v, Value const &t)
 sphericalVector * Value More...
 
sphericalVector operator* (Value const &t, sphericalVector const &v)
 Value * xyzVector. More...
 
sphericalVector operator/ (sphericalVector const &v, Value const &t)
 xyzVector / Value More...
 
void add (sphericalVector const &a, sphericalVector const &b, sphericalVector &r)
 Add: xyzVector + xyzVector. More...
 
void add (sphericalVector const &v, Value const &t, sphericalVector &r)
 Add: xyzVector + Value. More...
 
void add (Value const &t, sphericalVector const &v, sphericalVector &r)
 Add: Value + xyzVector. More...
 
void subtract (sphericalVector const &a, sphericalVector const &b, sphericalVector &r)
 Subtract: xyzVector - xyzVector. More...
 
void subtract (sphericalVector const &v, Value const &t, sphericalVector &r)
 Subtract: xyzVector - Value. More...
 
void subtract (Value const &t, sphericalVector const &v, sphericalVector &r)
 Subtract: Value - sphericalVector. More...
 
void multiply (sphericalVector const &v, Value const &t, sphericalVector &r)
 Multiply: xyzVector * Value. More...
 
void multiply (Value const &t, sphericalVector const &v, sphericalVector &r)
 Multiply: Value * xyzVector. More...
 
void divide (sphericalVector const &v, Value const &t, sphericalVector &r)
 Divide: xyzVector / Value. More...
 
sphericalVector min (sphericalVector const &a, sphericalVector const &b)
 xyzVector with min coordinates of two xyzVectors More...
 
sphericalVector max (sphericalVector const &a, sphericalVector const &b)
 sphericalVector with max coordinates of two sphericalVector More...
 
bool operator== (sphericalVector const &a, sphericalVector const &b)
 sphericalVector == sphericalVector More...
 
bool operator!= (sphericalVector const &a, sphericalVector const &b)
 sphericalVector != sphericalVector More...
 

Detailed Description

template<typename>
class numeric::sphericalVector< typename >

sphericalVector: Fast spherical-coordinate numeric vector

Member Typedef Documentation

template<typename >
typedef T const* numeric::sphericalVector< typename >::const_pointer
template<typename >
typedef T const& numeric::sphericalVector< typename >::const_reference
template<typename >
typedef T const* numeric::sphericalVector< typename >::ConstPointer
template<typename >
typedef T const& numeric::sphericalVector< typename >::ConstReference
template<typename >
typedef void numeric::sphericalVector< typename >::difference_type
template<typename >
typedef void numeric::sphericalVector< typename >::iterator_category
template<typename >
typedef T* numeric::sphericalVector< typename >::Pointer
template<typename >
typedef T* numeric::sphericalVector< typename >::pointer
template<typename >
typedef T& numeric::sphericalVector< typename >::Reference
template<typename >
typedef T& numeric::sphericalVector< typename >::reference
template<typename >
typedef T numeric::sphericalVector< typename >::Value
template<typename >
typedef T numeric::sphericalVector< typename >::value_type

Constructor & Destructor Documentation

template<typename >
numeric::sphericalVector< typename >::sphericalVector ( )
inline

Default constructor.

Note
Values are uninitialized for efficiency
template<typename >
numeric::sphericalVector< typename >::sphericalVector ( sphericalVector< typename > const &  v)
inline

Copy constructor.

template<typename >
template<typename U >
numeric::sphericalVector< typename >::sphericalVector ( sphericalVector< U > const &  v)
inline

Copy constructor.

template<typename >
numeric::sphericalVector< typename >::sphericalVector ( Value const &  phi_a,
Value const &  theta_a,
Value const &  radius_a 
)
inline

Triple value constructor.

template<typename >
template<typename U >
numeric::sphericalVector< typename >::sphericalVector ( U const *  p)
inlineexplicit

Pointer to contiguous values constructor.

Note
U must be assignable to a Value
Warning
No way to check that argument points to three values
Argument missing an & operator will quietly call the uniform value constructor
template<typename >
numeric::sphericalVector< typename >::~sphericalVector ( )
inline

Destructor.

Member Function Documentation

template<typename >
sphericalVector& numeric::sphericalVector< typename >::assign ( Value const &  phi_a,
Value const &  theta_a,
Value const &  radius_a 
)
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::clear ( )
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::max ( sphericalVector< typename > const &  v)
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::min ( sphericalVector< typename > const &  v)
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::operator*= ( Value const &  t)
inline
template<typename >
template<typename U >
sphericalVector& numeric::sphericalVector< typename >::operator+= ( sphericalVector< U > const &  v)
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::operator+= ( Value const &  t)
inline
template<typename >
template<typename U >
sphericalVector& numeric::sphericalVector< typename >::operator-= ( sphericalVector< U > const &  v)
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::operator-= ( Value const &  t)
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::operator/= ( Value const &  t)
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::operator= ( sphericalVector< typename > const &  v)
inline
template<typename >
template<typename U >
sphericalVector& numeric::sphericalVector< typename >::operator= ( sphericalVector< U > const &  v)
inline
template<typename >
template<typename U >
sphericalVector& numeric::sphericalVector< typename >::operator= ( U const *  p)
inline

Assignment from pointer to contiguous values.

Warning
No way to check that argument points to three values

References basic::options::OptionKeys::score::fiber_diffraction::p, numeric::sphericalVector< typename >::phi_, numeric::sphericalVector< typename >::radius_, and numeric::sphericalVector< typename >::theta_.

template<typename >
sphericalVector& numeric::sphericalVector< typename >::operator= ( Value const &  t)
inline
template<typename >
Value const& numeric::sphericalVector< typename >::phi ( ) const
inline
template<typename >
Value& numeric::sphericalVector< typename >::phi ( )
inline
template<typename >
void numeric::sphericalVector< typename >::phi ( Value const &  phi_a)
inline
template<typename >
Value const& numeric::sphericalVector< typename >::radius ( ) const
inline
template<typename >
Value& numeric::sphericalVector< typename >::radius ( )
inline
template<typename >
void numeric::sphericalVector< typename >::radius ( Value const &  radius_a)
inline
template<typename >
template<typename U >
sphericalVector& numeric::sphericalVector< typename >::scaled_add ( Value const &  t,
sphericalVector< U > const &  v 
)
inline
template<typename >
template<typename U >
sphericalVector& numeric::sphericalVector< typename >::scaled_assign ( Value const &  t,
sphericalVector< U > const &  v 
)
inline
template<typename >
template<typename U >
sphericalVector& numeric::sphericalVector< typename >::scaled_sub ( Value const &  t,
sphericalVector< U > const &  v 
)
inline
template<typename >
Value const& numeric::sphericalVector< typename >::theta ( ) const
inline
template<typename >
Value& numeric::sphericalVector< typename >::theta ( )
inline
template<typename >
void numeric::sphericalVector< typename >::theta ( Value const &  theta_a)
inline
template<typename >
sphericalVector& numeric::sphericalVector< typename >::zero ( )
inline

Friends And Related Function Documentation

template<typename >
void add ( sphericalVector< typename > const &  a,
sphericalVector< typename > const &  b,
sphericalVector< typename > &  r 
)
friend
template<typename >
void add ( sphericalVector< typename > const &  v,
Value const &  t,
sphericalVector< typename > &  r 
)
friend
template<typename >
void add ( Value const &  t,
sphericalVector< typename > const &  v,
sphericalVector< typename > &  r 
)
friend
template<typename >
void divide ( sphericalVector< typename > const &  v,
Value const &  t,
sphericalVector< typename > &  r 
)
friend

Divide: xyzVector / Value.

template<typename >
sphericalVector max ( sphericalVector< typename > const &  a,
sphericalVector< typename > const &  b 
)
friend

sphericalVector with max coordinates of two sphericalVector

template<typename >
sphericalVector min ( sphericalVector< typename > const &  a,
sphericalVector< typename > const &  b 
)
friend

xyzVector with min coordinates of two xyzVectors

template<typename >
void multiply ( sphericalVector< typename > const &  v,
Value const &  t,
sphericalVector< typename > &  r 
)
friend

Multiply: xyzVector * Value.

template<typename >
void multiply ( Value const &  t,
sphericalVector< typename > const &  v,
sphericalVector< typename > &  r 
)
friend

Multiply: Value * xyzVector.

template<typename >
bool operator!= ( sphericalVector< typename > const &  a,
sphericalVector< typename > const &  b 
)
friend
template<typename >
sphericalVector operator* ( sphericalVector< typename > const &  v,
Value const &  t 
)
friend

sphericalVector * Value

template<typename >
sphericalVector operator* ( Value const &  t,
sphericalVector< typename > const &  v 
)
friend

Value * xyzVector.

template<typename >
sphericalVector operator+ ( sphericalVector< typename > const &  a,
sphericalVector< typename > const &  b 
)
friend
template<typename >
sphericalVector operator+ ( sphericalVector< typename > const &  v,
Value const &  t 
)
friend

sphericalVector + Value

template<typename >
sphericalVector operator+ ( Value const &  t,
sphericalVector< typename > const &  v 
)
friend

Value + sphericalVector.

template<typename >
sphericalVector operator- ( sphericalVector< typename > const &  a,
sphericalVector< typename > const &  b 
)
friend
template<typename >
sphericalVector operator- ( sphericalVector< typename > const &  v,
Value const &  t 
)
friend

sphericalVector - Value

template<typename >
sphericalVector operator- ( Value const &  t,
sphericalVector< typename > const &  v 
)
friend

Value - sphericalVector.

template<typename >
sphericalVector operator/ ( sphericalVector< typename > const &  v,
Value const &  t 
)
friend

xyzVector / Value

template<typename >
bool operator== ( sphericalVector< typename > const &  a,
sphericalVector< typename > const &  b 
)
friend
template<typename >
void subtract ( sphericalVector< typename > const &  a,
sphericalVector< typename > const &  b,
sphericalVector< typename > &  r 
)
friend

Subtract: xyzVector - xyzVector.

template<typename >
void subtract ( sphericalVector< typename > const &  v,
Value const &  t,
sphericalVector< typename > &  r 
)
friend

Subtract: xyzVector - Value.

template<typename >
void subtract ( Value const &  t,
sphericalVector< typename > const &  v,
sphericalVector< typename > &  r 
)
friend

Subtract: Value - sphericalVector.

Member Data Documentation

template<typename >
Value numeric::sphericalVector< typename >::phi_
private
template<typename >
Value numeric::sphericalVector< typename >::radius_
private
template<typename >
Value numeric::sphericalVector< typename >::theta_
private

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