CLHEP 2.4.7.1
C++ Class Library for High Energy Physics
HepGeom::BasicVector3D< T > Class Template Reference

#include <CLHEP/Geometry/BasicVector3D.h>

Inheritance diagram for HepGeom::BasicVector3D< T >:
HepGeom::Normal3D< T > HepGeom::Point3D< T > HepGeom::Vector3D< T >

Public Types

enum  {
  X = 0 , Y = 1 , Z = 2 , NUM_COORDINATES = 3 ,
  SIZE = NUM_COORDINATES
}
 

Public Member Functions

 BasicVector3D (T x1, T y1, T z1)
 
 BasicVector3D (const BasicVector3D< T > &)=default
 
template<typename U = T, typename = typename std::enable_if<!std::is_same<U,float>::value >::type>
 BasicVector3D (const BasicVector3D< float > &v)
 
 BasicVector3D (BasicVector3D< T > &&)=default
 
virtual ~BasicVector3D ()=default
 
 operator T* ()
 
 operator const T * () const
 
 operator CLHEP::Hep3Vector () const
 
BasicVector3D< T > & operator= (const BasicVector3D< T > &)=default
 
BasicVector3D< T > & operator= (BasicVector3D< T > &&)=default
 
BasicVector3D< T > & operator+= (const BasicVector3D< T > &v)
 
BasicVector3D< T > & operator-= (const BasicVector3D< T > &v)
 
BasicVector3D< T > & operator*= (double a)
 
BasicVector3D< T > & operator/= (double a)
 
operator() (int i) const
 
operator[] (int i) const
 
T & operator() (int i)
 
T & operator[] (int i)
 
x () const
 
y () const
 
z () const
 
void setX (T a)
 
void setY (T a)
 
void setZ (T a)
 
void set (T x1, T y1, T z1)
 
perp2 () const
 
perp () const
 
rho () const
 
void setPerp (T rh)
 
mag2 () const
 
mag () const
 
r () const
 
phi () const
 
theta () const
 
cosTheta () const
 
getR () const
 
getPhi () const
 
getTheta () const
 
void setMag (T ma)
 
void setR (T ma)
 
void setPhi (T ph)
 
void setTheta (T th)
 
pseudoRapidity () const
 
eta () const
 
getEta () const
 
void setEta (T a)
 
dot (const BasicVector3D< T > &v) const
 
BasicVector3D< T > cross (const BasicVector3D< T > &v) const
 
perp2 (const BasicVector3D< T > &v) const
 
perp (const BasicVector3D< T > &v) const
 
angle (const BasicVector3D< T > &v) const
 
BasicVector3D< T > unit () const
 
BasicVector3D< T > orthogonal () const
 
BasicVector3D< T > & rotateX (T a)
 
BasicVector3D< T > & rotateY (T a)
 
BasicVector3D< T > & rotateZ (T a)
 
BasicVector3D< T > & rotate (T a, const BasicVector3D< T > &v)
 

Protected Member Functions

 BasicVector3D ()
 

Protected Attributes

v_ [3]
 

Related Symbols

(Note that these are not member symbols.)

std::ostream & operator<< (std::ostream &, const BasicVector3D< float > &)
 
std::istream & operator>> (std::istream &, BasicVector3D< float > &)
 
BasicVector3D< float > operator+ (const BasicVector3D< float > &v)
 
BasicVector3D< float > operator+ (const BasicVector3D< float > &a, const BasicVector3D< float > &b)
 
BasicVector3D< float > operator- (const BasicVector3D< float > &v)
 
BasicVector3D< float > operator- (const BasicVector3D< float > &a, const BasicVector3D< float > &b)
 
BasicVector3D< float > operator* (const BasicVector3D< float > &v, double a)
 
float operator* (const BasicVector3D< float > &a, const BasicVector3D< float > &b)
 
BasicVector3D< float > operator* (double a, const BasicVector3D< float > &v)
 
BasicVector3D< float > operator/ (const BasicVector3D< float > &v, double a)
 
bool operator== (const BasicVector3D< float > &a, const BasicVector3D< float > &b)
 
bool operator!= (const BasicVector3D< float > &a, const BasicVector3D< float > &b)
 
std::ostream & operator<< (std::ostream &, const BasicVector3D< double > &)
 
std::istream & operator>> (std::istream &, BasicVector3D< double > &)
 
BasicVector3D< double > operator+ (const BasicVector3D< double > &v)
 
BasicVector3D< double > operator+ (const BasicVector3D< double > &a, const BasicVector3D< double > &b)
 
BasicVector3D< double > operator- (const BasicVector3D< double > &v)
 
BasicVector3D< double > operator- (const BasicVector3D< double > &a, const BasicVector3D< double > &b)
 
BasicVector3D< double > operator* (const BasicVector3D< double > &v, double a)
 
double operator* (const BasicVector3D< double > &a, const BasicVector3D< double > &b)
 
BasicVector3D< double > operator* (double a, const BasicVector3D< double > &v)
 
BasicVector3D< double > operator/ (const BasicVector3D< double > &v, double a)
 
bool operator== (const BasicVector3D< double > &a, const BasicVector3D< double > &b)
 
bool operator!= (const BasicVector3D< double > &a, const BasicVector3D< double > &b)
 

Detailed Description

template<class T>
class HepGeom::BasicVector3D< T >

Base class for Point3D<T>, Vector3D<T> and Normal3D<T>. It defines only common functionality for those classes and should not be used as separate class.

Author
Evgeni Chernyaev Evgue.nosp@m.ni.T.nosp@m.chern.nosp@m.iaev.nosp@m.@cern.nosp@m..ch

Definition at line 29 of file BasicVector3D.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T >
anonymous enum

Safe indexing of the coordinates when using with matrices, arrays, etc.

Enumerator

index for x-component

index for y-component

index for z-component

NUM_COORDINATES 

number of components

SIZE 

number of components

Definition at line 43 of file BasicVector3D.h.

Constructor & Destructor Documentation

◆ BasicVector3D() [1/5]

template<class T >
HepGeom::BasicVector3D< T >::BasicVector3D ( )
inlineprotected

Default constructor. It is protected - this class should not be instantiated directly.

Definition at line 37 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

Referenced by HepGeom::BasicVector3D< T >::cross(), HepGeom::BasicVector3D< T >::orthogonal(), and HepGeom::BasicVector3D< T >::unit().

◆ BasicVector3D() [2/5]

template<class T >
HepGeom::BasicVector3D< T >::BasicVector3D ( T x1,
T y1,
T z1 )
inline

Constructor from three numbers.

Definition at line 53 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ BasicVector3D() [3/5]

template<class T >
HepGeom::BasicVector3D< T >::BasicVector3D ( const BasicVector3D< T > & )
default

Copy constructor.

◆ BasicVector3D() [4/5]

template<class T >
template<typename U = T, typename = typename std::enable_if<!std::is_same<U,float>::value >::type>
HepGeom::BasicVector3D< T >::BasicVector3D ( const BasicVector3D< float > & v)
inline

◆ BasicVector3D() [5/5]

template<class T >
HepGeom::BasicVector3D< T >::BasicVector3D ( BasicVector3D< T > && )
default

Move constructor.

◆ ~BasicVector3D()

template<class T >
virtual HepGeom::BasicVector3D< T >::~BasicVector3D ( )
virtualdefault

Destructor.

Member Function Documentation

◆ angle()

template<class T >
T HepGeom::BasicVector3D< T >::angle ( const BasicVector3D< T > & v) const

Returns angle w.r.t. another vector.

◆ cosTheta()

template<class T >
T HepGeom::BasicVector3D< T >::cosTheta ( ) const
inline

Gets cosine of polar angle.

Definition at line 219 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::mag(), and HepGeom::BasicVector3D< T >::z().

◆ cross()

template<class T >
BasicVector3D< T > HepGeom::BasicVector3D< T >::cross ( const BasicVector3D< T > & v) const
inline

◆ dot()

◆ eta()

template<class T >
T HepGeom::BasicVector3D< T >::eta ( ) const
inline

Gets pseudo-rapidity.

Definition at line 262 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::pseudoRapidity().

◆ getEta()

template<class T >
T HepGeom::BasicVector3D< T >::getEta ( ) const
inline

Gets pseudo-rapidity.

Definition at line 265 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::pseudoRapidity().

◆ getPhi()

template<class T >
T HepGeom::BasicVector3D< T >::getPhi ( ) const
inline

Gets phi-component in spherical coordinate system

Definition at line 226 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::phi().

◆ getR()

template<class T >
T HepGeom::BasicVector3D< T >::getR ( ) const
inline

Gets r-component in spherical coordinate system

Definition at line 223 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::r().

◆ getTheta()

template<class T >
T HepGeom::BasicVector3D< T >::getTheta ( ) const
inline

Gets theta-component in spherical coordinate system

Definition at line 229 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::theta().

◆ mag()

◆ mag2()

◆ operator CLHEP::Hep3Vector()

template<class T >
HepGeom::BasicVector3D< T >::operator CLHEP::Hep3Vector ( ) const
inline

Conversion (cast) to CLHEP::Hep3Vector. This operator is needed only for backward compatibility and in principle should not exit.

Definition at line 92 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator const T *()

template<class T >
HepGeom::BasicVector3D< T >::operator const T * ( ) const
inline

Conversion (cast) to ordinary const array.

Definition at line 85 of file BasicVector3D.h.

◆ operator T*()

template<class T >
HepGeom::BasicVector3D< T >::operator T* ( )
inline

Conversion (cast) to ordinary array.

Definition at line 81 of file BasicVector3D.h.

◆ operator()() [1/2]

template<class T >
T & HepGeom::BasicVector3D< T >::operator() ( int i)
inline

Sets components by index.

Definition at line 138 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ operator()() [2/2]

template<class T >
T HepGeom::BasicVector3D< T >::operator() ( int i) const
inline

Gets components by index.

Definition at line 131 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ operator*=()

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::operator*= ( double a)
inline

Multiplication by scalar.

Definition at line 116 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ operator+=()

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::operator+= ( const BasicVector3D< T > & v)
inline

Addition.

Definition at line 106 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ operator-=()

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::operator-= ( const BasicVector3D< T > & v)
inline

Subtraction.

Definition at line 111 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ operator/=()

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::operator/= ( double a)
inline

Division by scalar.

Definition at line 121 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ operator=() [1/2]

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::operator= ( BasicVector3D< T > && )
default

Move assignment.

◆ operator=() [2/2]

◆ operator[]() [1/2]

template<class T >
T & HepGeom::BasicVector3D< T >::operator[] ( int i)
inline

Sets components by index.

Definition at line 141 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ operator[]() [2/2]

template<class T >
T HepGeom::BasicVector3D< T >::operator[] ( int i) const
inline

Gets components by index.

Definition at line 134 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ orthogonal()

template<class T >
BasicVector3D< T > HepGeom::BasicVector3D< T >::orthogonal ( ) const
inline

◆ perp() [1/2]

◆ perp() [2/2]

template<class T >
T HepGeom::BasicVector3D< T >::perp ( const BasicVector3D< T > & v) const
inline

Returns transverse component w.r.t. given axis.

Definition at line 298 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::perp2().

◆ perp2() [1/2]

template<class T >
T HepGeom::BasicVector3D< T >::perp2 ( ) const
inline

Gets transverse component squared.

Definition at line 177 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), and HepGeom::BasicVector3D< T >::y().

Referenced by HepGeom::BasicVector3D< T >::perp(), and HepGeom::BasicVector3D< T >::perp().

◆ perp2() [2/2]

template<class T >
T HepGeom::BasicVector3D< T >::perp2 ( const BasicVector3D< T > & v) const
inline

Returns transverse component w.r.t. given axis squared.

Definition at line 291 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::dot(), and HepGeom::BasicVector3D< T >::mag2().

◆ phi()

template<class T >
T HepGeom::BasicVector3D< T >::phi ( ) const
inline

◆ pseudoRapidity()

template<class T >
T HepGeom::BasicVector3D< T >::pseudoRapidity ( ) const

Gets pseudo-rapidity: -ln(tan(theta/2))

Referenced by HepGeom::BasicVector3D< T >::eta(), and HepGeom::BasicVector3D< T >::getEta().

◆ r()

template<class T >
T HepGeom::BasicVector3D< T >::r ( ) const
inline

Gets r-component in spherical coordinate system

Definition at line 206 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::mag().

Referenced by HepGeom::BasicVector3D< T >::getR().

◆ rho()

template<class T >
T HepGeom::BasicVector3D< T >::rho ( ) const
inline

Gets rho-component in cylindrical coordinate system

Definition at line 183 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::perp().

◆ rotate()

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::rotate ( T a,
const BasicVector3D< T > & v )

Rotates around the axis specified by another vector.

◆ rotateX()

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::rotateX ( T a)

Rotates around x-axis.

◆ rotateY()

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::rotateY ( T a)

Rotates around y-axis.

◆ rotateZ()

template<class T >
BasicVector3D< T > & HepGeom::BasicVector3D< T >::rotateZ ( T a)

Rotates around z-axis.

◆ set()

template<class T >
void HepGeom::BasicVector3D< T >::set ( T x1,
T y1,
T z1 )
inline

Sets components in cartesian coordinate system.

Definition at line 169 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

Referenced by HepGeom::BasicVector3D< T >::setTheta().

◆ setEta()

template<class T >
void HepGeom::BasicVector3D< T >::setEta ( T a)

Sets pseudo-rapidity, keeping magnitude and phi fixed.

◆ setMag()

template<class T >
void HepGeom::BasicVector3D< T >::setMag ( T ma)
inline

Sets magnitude.

Definition at line 233 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::mag(), and HepGeom::BasicVector3D< T >::v_.

Referenced by HepGeom::BasicVector3D< T >::setR().

◆ setPerp()

template<class T >
void HepGeom::BasicVector3D< T >::setPerp ( T rh)
inline

Sets transverse component keeping phi and z constant.

Definition at line 187 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::perp(), and HepGeom::BasicVector3D< T >::v_.

◆ setPhi()

template<class T >
void HepGeom::BasicVector3D< T >::setPhi ( T ph)
inline

Sets phi-component in spherical coordinate system.

Definition at line 244 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::perp(), HepGeom::BasicVector3D< T >::setX(), and HepGeom::BasicVector3D< T >::setY().

◆ setR()

template<class T >
void HepGeom::BasicVector3D< T >::setR ( T ma)
inline

Sets r-component in spherical coordinate system.

Definition at line 241 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::setMag().

◆ setTheta()

template<class T >
void HepGeom::BasicVector3D< T >::setTheta ( T th)
inline

Sets theta-component in spherical coordinate system.

Definition at line 247 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::mag(), HepGeom::BasicVector3D< T >::phi(), and HepGeom::BasicVector3D< T >::set().

◆ setX()

template<class T >
void HepGeom::BasicVector3D< T >::setX ( T a)
inline

Sets x-component in cartesian coordinate system.

Definition at line 159 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

Referenced by HepGeom::BasicVector3D< T >::setPhi().

◆ setY()

template<class T >
void HepGeom::BasicVector3D< T >::setY ( T a)
inline

Sets y-component in cartesian coordinate system.

Definition at line 162 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

Referenced by HepGeom::BasicVector3D< T >::setPhi().

◆ setZ()

template<class T >
void HepGeom::BasicVector3D< T >::setZ ( T a)
inline

Sets z-component in cartesian coordinate system.

Definition at line 165 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

◆ theta()

◆ unit()

◆ x()

template<class T >
T HepGeom::BasicVector3D< T >::x ( ) const
inline

Gets x-component in cartesian coordinate system.

Definition at line 149 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

Referenced by HepGeom::BasicVector3D< T >::BasicVector3D(), HepGeom::BasicVector3D< T >::cross(), HepGeom::Plane3D< T >::distance(), HepGeom::Point3D< double >::distance2(), HepGeom::Point3D< float >::distance2(), HepGeom::BasicVector3D< T >::dot(), HepGeom::BasicVector3D< T >::mag2(), HepGeom::BasicVector3D< T >::operator CLHEP::Hep3Vector(), HepGeom::Normal3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Point3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Vector3D< double >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< T >::operator!=(), HepGeom::BasicVector3D< T >::operator!=(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator+(), HepGeom::BasicVector3D< T >::operator+(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::BasicVector3D< T >::operator==(), HepGeom::BasicVector3D< T >::operator==(), HepGeom::BasicVector3D< T >::orthogonal(), HepGeom::BasicVector3D< T >::perp2(), HepGeom::BasicVector3D< T >::phi(), HepGeom::Plane3D< T >::Plane3D(), HepGeom::Plane3D< T >::point(), HepGeom::Reflect3D::Reflect3D(), HepGeom::Rotate3D::Rotate3D(), HepGeom::BasicVector3D< T >::theta(), HepGeom::Plane3D< T >::transform(), and HepGeom::BasicVector3D< T >::unit().

◆ y()

template<class T >
T HepGeom::BasicVector3D< T >::y ( ) const
inline

Gets y-component in cartesian coordinate system.

Definition at line 152 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

Referenced by HepGeom::BasicVector3D< T >::BasicVector3D(), HepGeom::BasicVector3D< T >::cross(), HepGeom::Plane3D< T >::distance(), HepGeom::Point3D< double >::distance2(), HepGeom::Point3D< float >::distance2(), HepGeom::BasicVector3D< T >::dot(), HepGeom::BasicVector3D< T >::mag2(), HepGeom::BasicVector3D< T >::operator CLHEP::Hep3Vector(), HepGeom::Normal3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Point3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Vector3D< double >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< T >::operator!=(), HepGeom::BasicVector3D< T >::operator!=(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator+(), HepGeom::BasicVector3D< T >::operator+(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::BasicVector3D< T >::operator==(), HepGeom::BasicVector3D< T >::operator==(), HepGeom::BasicVector3D< T >::orthogonal(), HepGeom::BasicVector3D< T >::perp2(), HepGeom::BasicVector3D< T >::phi(), HepGeom::Plane3D< T >::Plane3D(), HepGeom::Plane3D< T >::point(), HepGeom::Reflect3D::Reflect3D(), HepGeom::Rotate3D::Rotate3D(), HepGeom::BasicVector3D< T >::theta(), HepGeom::Plane3D< T >::transform(), and HepGeom::BasicVector3D< T >::unit().

◆ z()

template<class T >
T HepGeom::BasicVector3D< T >::z ( ) const
inline

Gets z-component in cartesian coordinate system.

Definition at line 155 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::v_.

Referenced by HepGeom::BasicVector3D< T >::BasicVector3D(), HepGeom::BasicVector3D< T >::cosTheta(), HepGeom::BasicVector3D< T >::cross(), HepGeom::Plane3D< T >::distance(), HepGeom::Point3D< double >::distance2(), HepGeom::Point3D< float >::distance2(), HepGeom::BasicVector3D< T >::dot(), HepGeom::BasicVector3D< T >::mag2(), HepGeom::BasicVector3D< T >::operator CLHEP::Hep3Vector(), HepGeom::Normal3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Point3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Vector3D< double >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< T >::operator!=(), HepGeom::BasicVector3D< T >::operator!=(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator*(), HepGeom::BasicVector3D< T >::operator+(), HepGeom::BasicVector3D< T >::operator+(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::BasicVector3D< T >::operator==(), HepGeom::BasicVector3D< T >::operator==(), HepGeom::BasicVector3D< T >::orthogonal(), HepGeom::Plane3D< T >::Plane3D(), HepGeom::Plane3D< T >::point(), HepGeom::Reflect3D::Reflect3D(), HepGeom::Rotate3D::Rotate3D(), HepGeom::BasicVector3D< T >::theta(), HepGeom::Plane3D< T >::transform(), and HepGeom::BasicVector3D< T >::unit().

Friends And Related Symbol Documentation

◆ operator!=() [1/2]

template<class T >
bool operator!= ( const BasicVector3D< double > & a,
const BasicVector3D< double > & b )
related

Comparison of two vectors for inequality.

Definition at line 564 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator!=() [2/2]

template<class T >
bool operator!= ( const BasicVector3D< float > & a,
const BasicVector3D< float > & b )
related

Comparison of two vectors for inequality.

Definition at line 455 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator*() [1/6]

template<class T >
double operator* ( const BasicVector3D< double > & a,
const BasicVector3D< double > & b )
related

Scalar product of two vectors.

Definition at line 527 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::dot().

◆ operator*() [2/6]

template<class T >
BasicVector3D< double > operator* ( const BasicVector3D< double > & v,
double a )
related

Multiplication vector by scalar.

Definition at line 518 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator*() [3/6]

template<class T >
float operator* ( const BasicVector3D< float > & a,
const BasicVector3D< float > & b )
related

Scalar product of two vectors.

Definition at line 419 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::dot().

◆ operator*() [4/6]

template<class T >
BasicVector3D< float > operator* ( const BasicVector3D< float > & v,
double a )
related

Multiplication vector by scalar.

Definition at line 410 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator*() [5/6]

template<class T >
BasicVector3D< double > operator* ( double a,
const BasicVector3D< double > & v )
related

Multiplication scalar by vector.

Definition at line 536 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator*() [6/6]

template<class T >
BasicVector3D< float > operator* ( double a,
const BasicVector3D< float > & v )
related

Multiplication scalar by vector.

Definition at line 428 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator+() [1/4]

template<class T >
BasicVector3D< double > operator+ ( const BasicVector3D< double > & a,
const BasicVector3D< double > & b )
related

Addition of two vectors.

Definition at line 491 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator+() [2/4]

template<class T >
BasicVector3D< double > operator+ ( const BasicVector3D< double > & v)
related

Unary plus.

Definition at line 484 of file BasicVector3D.h.

◆ operator+() [3/4]

template<class T >
BasicVector3D< float > operator+ ( const BasicVector3D< float > & a,
const BasicVector3D< float > & b )
related

Addition of two vectors.

Definition at line 383 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator+() [4/4]

template<class T >
BasicVector3D< float > operator+ ( const BasicVector3D< float > & v)
related

Unary plus.

Definition at line 376 of file BasicVector3D.h.

◆ operator-() [1/4]

template<class T >
BasicVector3D< double > operator- ( const BasicVector3D< double > & a,
const BasicVector3D< double > & b )
related

Subtraction of two vectors.

Definition at line 509 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator-() [2/4]

template<class T >
BasicVector3D< double > operator- ( const BasicVector3D< double > & v)
related

◆ operator-() [3/4]

template<class T >
BasicVector3D< float > operator- ( const BasicVector3D< float > & a,
const BasicVector3D< float > & b )
related

Subtraction of two vectors.

Definition at line 401 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator-() [4/4]

template<class T >
BasicVector3D< float > operator- ( const BasicVector3D< float > & v)
related

◆ operator/() [1/2]

template<class T >
BasicVector3D< double > operator/ ( const BasicVector3D< double > & v,
double a )
related

Division vector by scalar.

Definition at line 545 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator/() [2/2]

template<class T >
BasicVector3D< float > operator/ ( const BasicVector3D< float > & v,
double a )
related

Division vector by scalar.

Definition at line 437 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator<<() [1/2]

template<class T >
std::ostream & operator<< ( std::ostream & ,
const BasicVector3D< double > &  )
related

Output to stream.

◆ operator<<() [2/2]

template<class T >
std::ostream & operator<< ( std::ostream & ,
const BasicVector3D< float > &  )
related

Output to stream.

◆ operator==() [1/2]

template<class T >
bool operator== ( const BasicVector3D< double > & a,
const BasicVector3D< double > & b )
related

Comparison of two vectors for equality.

Definition at line 554 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator==() [2/2]

template<class T >
bool operator== ( const BasicVector3D< float > & a,
const BasicVector3D< float > & b )
related

Comparison of two vectors for equality.

Definition at line 446 of file BasicVector3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ operator>>() [1/2]

template<class T >
std::istream & operator>> ( std::istream & ,
BasicVector3D< double > &  )
related

Input from stream.

◆ operator>>() [2/2]

template<class T >
std::istream & operator>> ( std::istream & ,
BasicVector3D< float > &  )
related

Input from stream.

Member Data Documentation

◆ v_


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