CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

HepGeom::BasicVector3D< T > Class Template Reference

#include <BasicVector3D.h>

Inheritance diagram for HepGeom::BasicVector3D< T >:

HepGeom::Normal3D< T > HepGeom::Point3D< T > HepGeom::Vector3D< T > List of all members.

Public Types

 X = 0
 Y = 1
 Z = 2
 NUM_COORDINATES = 3
 SIZE = NUM_COORDINATES
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< float > &v)
virtual ~BasicVector3D ()
 operator T * ()
 operator const T * () const
 operator CLHEP::Hep3Vector () const
BasicVector3D< T > & operator= (const BasicVector3D< T > &v)
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 Functions

(Note that these are not member functions.)

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 <Evgueni.Tcherniaev@cern.ch>

Definition at line 28 of file BasicVector3D.h.


Member Enumeration Documentation

template<class T>
anonymous enum

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

Enumerator:
X  index for x-component
Y  index for y-component
Z  index for z-component
NUM_COORDINATES  number of components
SIZE  number of components

Definition at line 42 of file BasicVector3D.h.


Constructor & Destructor Documentation

template<class T>
HepGeom::BasicVector3D< T >::BasicVector3D (  )  [inline, protected]

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

Definition at line 36 of file BasicVector3D.h.

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

Constructor from three numbers.

Definition at line 52 of file BasicVector3D.h.

template<class T>
HepGeom::BasicVector3D< T >::BasicVector3D ( const BasicVector3D< float > &  v  )  [inline]

Copy constructor. Note: BasicVector3D<double> has constructors from BasicVector3D<double> (provided by compiler) and from BasicVector3D<float> (defined in this file); BasicVector3D<float> has only the last one.

Definition at line 61 of file BasicVector3D.h.

template<class T>
virtual HepGeom::BasicVector3D< T >::~BasicVector3D (  )  [inline, virtual]

Destructor.

Definition at line 67 of file BasicVector3D.h.


Member Function Documentation

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

Returns angle w.r.t. another vector.

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

Gets cosine of polar angle.

Definition at line 212 of file BasicVector3D.h.

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

Vector product.

Definition at line 276 of file BasicVector3D.h.

Referenced by HepGeom::Transform3D::Transform3D().

template<class T>
T HepGeom::BasicVector3D< T >::dot ( const BasicVector3D< T > &  v  )  const [inline]

Scalar product.

Definition at line 270 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< double >::angle(), and HepGeom::BasicVector3D< float >::angle().

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

Gets pseudo-rapidity.

Definition at line 255 of file BasicVector3D.h.

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

Gets pseudo-rapidity.

Definition at line 258 of file BasicVector3D.h.

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

Gets phi-component in spherical coordinate system

Definition at line 219 of file BasicVector3D.h.

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

Gets r-component in spherical coordinate system

Definition at line 216 of file BasicVector3D.h.

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

Gets theta-component in spherical coordinate system

Definition at line 222 of file BasicVector3D.h.

template<class T>
T HepGeom::BasicVector3D< T >::mag (  )  const [inline]

Gets magnitude of the vector.

Definition at line 196 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< double >::angle(), HepGeom::BasicVector3D< float >::angle(), HepGeom::BasicVector3D< double >::pseudoRapidity(), HepGeom::BasicVector3D< float >::pseudoRapidity(), HepGeom::BasicVector3D< double >::setEta(), and HepGeom::BasicVector3D< float >::setEta().

template<class T>
T HepGeom::BasicVector3D< T >::mag2 (  )  const [inline]

Gets magnitude squared of the vector.

Definition at line 193 of file BasicVector3D.h.

Referenced by HepGeom::Point3D< float >::distance2(), and HepGeom::BasicVector3D< float >::perp2().

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

Multiplication by scalar.

Definition at line 109 of file BasicVector3D.h.

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.

Reimplemented in HepGeom::Normal3D< double >, HepGeom::Point3D< double >, and HepGeom::Vector3D< double >.

Definition at line 86 of file BasicVector3D.h.

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

Conversion (cast) to ordinary const array.

Definition at line 79 of file BasicVector3D.h.

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

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

Conversion (cast) to ordinary array.

Definition at line 75 of file BasicVector3D.h.

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

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

Sets components by index.

Definition at line 131 of file BasicVector3D.h.

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

Gets components by index.

Definition at line 124 of file BasicVector3D.h.

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

Addition.

Definition at line 99 of file BasicVector3D.h.

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

Subtraction.

Definition at line 104 of file BasicVector3D.h.

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

Division by scalar.

Definition at line 114 of file BasicVector3D.h.

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

Assignment.

Reimplemented in HepGeom::Normal3D< float >, HepGeom::Normal3D< double >, HepGeom::Point3D< float >, HepGeom::Point3D< double >, HepGeom::Vector3D< float >, and HepGeom::Vector3D< double >.

Definition at line 94 of file BasicVector3D.h.

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

Sets components by index.

Definition at line 134 of file BasicVector3D.h.

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

Gets components by index.

Definition at line 127 of file BasicVector3D.h.

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

Returns orthogonal vector.

Definition at line 313 of file BasicVector3D.h.

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 291 of file BasicVector3D.h.

template<class T>
T HepGeom::BasicVector3D< T >::perp (  )  const [inline]

Gets transverse component.

Definition at line 173 of file BasicVector3D.h.

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 284 of file BasicVector3D.h.

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

Gets transverse component squared.

Definition at line 170 of file BasicVector3D.h.

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

Gets azimuth angle.

Definition at line 202 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< double >::setEta(), and HepGeom::BasicVector3D< float >::setEta().

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

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

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

Gets r-component in spherical coordinate system

Definition at line 199 of file BasicVector3D.h.

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

Gets rho-component in cylindrical coordinate system

Definition at line 176 of file BasicVector3D.h.

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

Rotates around the axis specified by another vector.

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

Rotates around x-axis.

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

Rotates around y-axis.

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

Rotates around z-axis.

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

Sets components in cartesian coordinate system.

Definition at line 162 of file BasicVector3D.h.

Referenced by HepGeom::Vector3D< float >::operator=(), HepGeom::Point3D< float >::operator=(), HepGeom::Normal3D< float >::operator=(), HepGeom::BasicVector3D< double >::rotate(), HepGeom::BasicVector3D< float >::rotate(), HepGeom::BasicVector3D< double >::setEta(), HepGeom::BasicVector3D< float >::setEta(), HepGeom::Vector3D< double >::transform(), HepGeom::Vector3D< float >::transform(), HepGeom::Point3D< double >::transform(), HepGeom::Point3D< float >::transform(), HepGeom::Normal3D< double >::transform(), and HepGeom::Normal3D< float >::transform().

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

Sets pseudo-rapidity, keeping magnitude and phi fixed.

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

Sets magnitude.

Definition at line 226 of file BasicVector3D.h.

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

Sets transverse component keeping phi and z constant.

Definition at line 180 of file BasicVector3D.h.

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

Sets phi-component in spherical coordinate system.

Definition at line 237 of file BasicVector3D.h.

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

Sets r-component in spherical coordinate system.

Definition at line 234 of file BasicVector3D.h.

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

Sets theta-component in spherical coordinate system.

Definition at line 240 of file BasicVector3D.h.

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

Sets x-component in cartesian coordinate system.

Definition at line 152 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< double >::rotateY(), HepGeom::BasicVector3D< float >::rotateY(), HepGeom::BasicVector3D< double >::rotateZ(), and HepGeom::BasicVector3D< float >::rotateZ().

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

Sets y-component in cartesian coordinate system.

Definition at line 155 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< double >::rotateX(), HepGeom::BasicVector3D< float >::rotateX(), HepGeom::BasicVector3D< double >::rotateZ(), and HepGeom::BasicVector3D< float >::rotateZ().

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

Sets z-component in cartesian coordinate system.

Definition at line 158 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< double >::rotateX(), HepGeom::BasicVector3D< float >::rotateX(), HepGeom::BasicVector3D< double >::rotateY(), and HepGeom::BasicVector3D< float >::rotateY().

template<class T>
T HepGeom::BasicVector3D< T >::theta (  )  const [inline]

Gets polar angle.

Definition at line 207 of file BasicVector3D.h.

template<class T>
BasicVector3D<T> HepGeom::BasicVector3D< T >::unit (  )  const [inline]

Returns unit vector parallel to this.

Definition at line 305 of file BasicVector3D.h.

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

Gets x-component in cartesian coordinate system.

Definition at line 142 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< float >::BasicVector3D(), HepGeom::BasicVector3D< float >::cross(), HepGeom::Plane3D< T >::distance(), HepGeom::Point3D< double >::distance2(), HepGeom::Point3D< float >::distance2(), HepGeom::BasicVector3D< float >::dot(), main(), HepGeom::operator *(), HepGeom::BasicVector3D< T >::operator *(), HepGeom::Vector3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Point3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Normal3D< double >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< float >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::Vector3D< double >::operator=(), HepGeom::Vector3D< float >::operator=(), HepGeom::Point3D< double >::operator=(), HepGeom::Point3D< float >::operator=(), HepGeom::Normal3D< double >::operator=(), HepGeom::Normal3D< float >::operator=(), HepGeom::Plane3D< T >::point(), HepGeom::BasicVector3D< double >::rotate(), HepGeom::BasicVector3D< float >::rotate(), HepGeom::Rotate3D::Rotate3D(), HepGeom::BasicVector3D< double >::rotateY(), HepGeom::BasicVector3D< float >::rotateY(), HepGeom::BasicVector3D< double >::rotateZ(), HepGeom::BasicVector3D< float >::rotateZ(), HepGeom::Vector3D< double >::transform(), HepGeom::Vector3D< float >::transform(), HepGeom::Point3D< double >::transform(), HepGeom::Point3D< float >::transform(), HepGeom::Normal3D< double >::transform(), HepGeom::Normal3D< float >::transform(), and HepGeom::Transform3D::Transform3D().

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

Gets y-component in cartesian coordinate system.

Definition at line 145 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< float >::BasicVector3D(), HepGeom::BasicVector3D< float >::cross(), HepGeom::Plane3D< T >::distance(), HepGeom::Point3D< double >::distance2(), HepGeom::Point3D< float >::distance2(), HepGeom::BasicVector3D< float >::dot(), main(), HepGeom::operator *(), HepGeom::BasicVector3D< T >::operator *(), HepGeom::Vector3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Point3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Normal3D< double >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< float >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::Vector3D< double >::operator=(), HepGeom::Vector3D< float >::operator=(), HepGeom::Point3D< double >::operator=(), HepGeom::Point3D< float >::operator=(), HepGeom::Normal3D< double >::operator=(), HepGeom::Normal3D< float >::operator=(), HepGeom::Plane3D< T >::point(), HepGeom::BasicVector3D< double >::rotate(), HepGeom::BasicVector3D< float >::rotate(), HepGeom::Rotate3D::Rotate3D(), HepGeom::BasicVector3D< double >::rotateX(), HepGeom::BasicVector3D< float >::rotateX(), HepGeom::BasicVector3D< double >::rotateZ(), HepGeom::BasicVector3D< float >::rotateZ(), HepGeom::Vector3D< double >::transform(), HepGeom::Vector3D< float >::transform(), HepGeom::Point3D< double >::transform(), HepGeom::Point3D< float >::transform(), HepGeom::Normal3D< double >::transform(), HepGeom::Normal3D< float >::transform(), and HepGeom::Transform3D::Transform3D().

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

Gets z-component in cartesian coordinate system.

Definition at line 148 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< float >::BasicVector3D(), HepGeom::BasicVector3D< float >::cross(), HepGeom::Plane3D< T >::distance(), HepGeom::Point3D< double >::distance2(), HepGeom::Point3D< float >::distance2(), HepGeom::BasicVector3D< float >::dot(), main(), HepGeom::operator *(), HepGeom::BasicVector3D< T >::operator *(), HepGeom::Vector3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Point3D< double >::operator CLHEP::Hep3Vector(), HepGeom::Normal3D< double >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< float >::operator CLHEP::Hep3Vector(), HepGeom::BasicVector3D< T >::operator-(), HepGeom::BasicVector3D< T >::operator/(), HepGeom::Vector3D< double >::operator=(), HepGeom::Vector3D< float >::operator=(), HepGeom::Point3D< double >::operator=(), HepGeom::Point3D< float >::operator=(), HepGeom::Normal3D< double >::operator=(), HepGeom::Normal3D< float >::operator=(), HepGeom::Plane3D< T >::point(), HepGeom::BasicVector3D< double >::pseudoRapidity(), HepGeom::BasicVector3D< float >::pseudoRapidity(), HepGeom::BasicVector3D< double >::rotate(), HepGeom::BasicVector3D< float >::rotate(), HepGeom::Rotate3D::Rotate3D(), HepGeom::BasicVector3D< double >::rotateX(), HepGeom::BasicVector3D< float >::rotateX(), HepGeom::BasicVector3D< double >::rotateY(), HepGeom::BasicVector3D< float >::rotateY(), HepGeom::Vector3D< double >::transform(), HepGeom::Vector3D< float >::transform(), HepGeom::Point3D< double >::transform(), HepGeom::Point3D< float >::transform(), HepGeom::Normal3D< double >::transform(), HepGeom::Normal3D< float >::transform(), and HepGeom::Transform3D::Transform3D().


Friends And Related Function Documentation

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

Multiplication scalar by vector.

Definition at line 529 of file BasicVector3D.h.

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

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

Scalar product of two vectors.

Definition at line 520 of file BasicVector3D.h.

References a, and b.

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

Multiplication vector by scalar.

Definition at line 511 of file BasicVector3D.h.

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

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

Multiplication scalar by vector.

Definition at line 421 of file BasicVector3D.h.

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

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

Scalar product of two vectors.

Definition at line 412 of file BasicVector3D.h.

References a, and b.

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

Multiplication vector by scalar.

Definition at line 403 of file BasicVector3D.h.

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

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

Comparison of two vectors for inequality.

Definition at line 557 of file BasicVector3D.h.

References a, and b.

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

Comparison of two vectors for inequality.

Definition at line 448 of file BasicVector3D.h.

References a, and b.

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

Addition of two vectors.

Definition at line 484 of file BasicVector3D.h.

References a, and b.

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

Unary plus.

Definition at line 477 of file BasicVector3D.h.

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

Addition of two vectors.

Definition at line 376 of file BasicVector3D.h.

References a, and b.

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

Unary plus.

Definition at line 369 of file BasicVector3D.h.

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

Subtraction of two vectors.

Definition at line 502 of file BasicVector3D.h.

References a, and b.

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

Unary minus.

Definition at line 493 of file BasicVector3D.h.

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

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

Subtraction of two vectors.

Definition at line 394 of file BasicVector3D.h.

References a, and b.

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

Unary minus.

Definition at line 385 of file BasicVector3D.h.

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

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

Division vector by scalar.

Definition at line 538 of file BasicVector3D.h.

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

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

Division vector by scalar.

Definition at line 430 of file BasicVector3D.h.

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

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

Output to stream.

Definition at line 264 of file BasicVector3D.cc.

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

Output to stream.

Definition at line 108 of file BasicVector3D.cc.

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

Comparison of two vectors for equality.

Definition at line 547 of file BasicVector3D.h.

References a, and b.

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

Comparison of two vectors for equality.

Definition at line 439 of file BasicVector3D.h.

References a, and b.

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

Input from stream.

Definition at line 271 of file BasicVector3D.cc.

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

Input from stream.

Definition at line 115 of file BasicVector3D.cc.


Member Data Documentation

template<class T>
T HepGeom::BasicVector3D< T >::v_[3] [protected]

Definition at line 30 of file BasicVector3D.h.

Referenced by HepGeom::BasicVector3D< float >::BasicVector3D(), HepGeom::BasicVector3D< T >::operator const T *(), HepGeom::BasicVector3D< T >::operator T *(), HepGeom::BasicVector3D< float >::operator+=(), HepGeom::BasicVector3D< float >::operator-=(), and HepGeom::BasicVector3D< float >::operator=().


The documentation for this class was generated from the following file:
Generated on 15 Nov 2012 for CLHEP by  doxygen 1.4.7