CLHEP 2.4.7.1
C++ Class Library for High Energy Physics
HepGeom::Vector3D< double > Class Reference

#include <CLHEP/Geometry/Vector3D.h>

Inheritance diagram for HepGeom::Vector3D< double >:
HepGeom::BasicVector3D< double > HepGeom::BasicVector3D< double >

Public Member Functions

 Vector3D ()=default
 
 Vector3D (double x1, double y1, double z1)
 
 Vector3D (const float *a)
 
 Vector3D (const double *a)
 
 Vector3D (const Vector3D< double > &)=default
 
 Vector3D (Vector3D< double > &&)=default
 
 Vector3D (const BasicVector3D< float > &v)
 
 Vector3D (const BasicVector3D< double > &v)
 
 ~Vector3D ()=default
 
 Vector3D (const CLHEP::Hep3Vector &v)
 
 operator CLHEP::Hep3Vector () const
 
Vector3D< double > & operator= (const Vector3D< double > &)=default
 
Vector3D< double > & operator= (const BasicVector3D< float > &v)
 
Vector3D< double > & operator= (const BasicVector3D< double > &v)
 
Vector3D< double > & operator= (Vector3D< double > &&)=default
 
Vector3D< double > & transform (const Transform3D &m)
 
- Public Member Functions inherited from HepGeom::BasicVector3D< double >
 BasicVector3D (double x1, double y1, double z1)
 
 BasicVector3D (const BasicVector3D< double > &)=default
 
 BasicVector3D (const BasicVector3D< float > &v)
 
 BasicVector3D (BasicVector3D< double > &&)=default
 
virtual ~BasicVector3D ()=default
 
 operator double * ()
 
 operator const double * () const
 
 operator CLHEP::Hep3Vector () const
 
BasicVector3D< double > & operator= (const BasicVector3D< double > &)=default
 
BasicVector3D< double > & operator= (BasicVector3D< double > &&)=default
 
BasicVector3D< double > & operator+= (const BasicVector3D< double > &v)
 
BasicVector3D< double > & operator-= (const BasicVector3D< double > &v)
 
BasicVector3D< double > & operator*= (double a)
 
BasicVector3D< double > & operator/= (double a)
 
double operator() (int i) const
 
double & operator() (int i)
 
double operator[] (int i) const
 
double & operator[] (int i)
 
double x () const
 
double y () const
 
double z () const
 
void setX (double a)
 
void setY (double a)
 
void setZ (double a)
 
void set (double x1, double y1, double z1)
 
double perp2 () const
 
double perp2 (const BasicVector3D< double > &v) const
 
double perp () const
 
double perp (const BasicVector3D< double > &v) const
 
double rho () const
 
void setPerp (double rh)
 
double mag2 () const
 
double mag () const
 
double r () const
 
double phi () const
 
double theta () const
 
double cosTheta () const
 
double getR () const
 
double getPhi () const
 
double getTheta () const
 
void setMag (double ma)
 
void setR (double ma)
 
void setPhi (double ph)
 
void setTheta (double th)
 
double pseudoRapidity () const
 
double eta () const
 
double getEta () const
 
void setEta (double a)
 
double dot (const BasicVector3D< double > &v) const
 
BasicVector3D< double > cross (const BasicVector3D< double > &v) const
 
double angle (const BasicVector3D< double > &v) const
 
BasicVector3D< double > unit () const
 
BasicVector3D< double > orthogonal () const
 
BasicVector3D< double > & rotateX (double a)
 
BasicVector3D< double > & rotateY (double a)
 
BasicVector3D< double > & rotateZ (double a)
 
BasicVector3D< double > & rotate (double a, const BasicVector3D< double > &v)
 

Related Symbols

(Note that these are not member symbols.)

Vector3D< float > operator* (const Transform3D &m, const Vector3D< float > &v)
 
Vector3D< double > operator* (const Transform3D &m, const Vector3D< double > &v)
 
Vector3D< float > operator* (const Transform3D &m, const Vector3D< float > &v)
 
Vector3D< double > operator* (const Transform3D &m, const Vector3D< double > &v)
 

Additional Inherited Members

- Public Types inherited from HepGeom::BasicVector3D< double >
enum  
 
- Protected Member Functions inherited from HepGeom::BasicVector3D< double >
 BasicVector3D ()
 
- Protected Attributes inherited from HepGeom::BasicVector3D< double >
double v_ [3]
 

Detailed Description

Geometrical 3D Vector with components of double type.

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

Definition at line 109 of file Vector3D.h.

Constructor & Destructor Documentation

◆ Vector3D() [1/9]

HepGeom::Vector3D< double >::Vector3D ( )
default

◆ Vector3D() [2/9]

HepGeom::Vector3D< double >::Vector3D ( double x1,
double y1,
double z1 )
inline

Constructor from three numbers.

Definition at line 117 of file Vector3D.h.

References HepGeom::BasicVector3D< double >::BasicVector3D().

◆ Vector3D() [3/9]

HepGeom::Vector3D< double >::Vector3D ( const float * a)
inlineexplicit

Constructor from array of floats.

Definition at line 121 of file Vector3D.h.

References HepGeom::BasicVector3D< double >::BasicVector3D().

◆ Vector3D() [4/9]

HepGeom::Vector3D< double >::Vector3D ( const double * a)
inlineexplicit

Constructor from array of doubles.

Definition at line 126 of file Vector3D.h.

References HepGeom::BasicVector3D< double >::BasicVector3D().

◆ Vector3D() [5/9]

HepGeom::Vector3D< double >::Vector3D ( const Vector3D< double > & )
default

Copy constructor.

References Vector3D().

◆ Vector3D() [6/9]

HepGeom::Vector3D< double >::Vector3D ( Vector3D< double > && )
default

Move constructor.

References Vector3D().

◆ Vector3D() [7/9]

HepGeom::Vector3D< double >::Vector3D ( const BasicVector3D< float > & v)
inline

Constructor from BasicVector3D<float>.

Definition at line 139 of file Vector3D.h.

References HepGeom::BasicVector3D< double >::BasicVector3D().

◆ Vector3D() [8/9]

HepGeom::Vector3D< double >::Vector3D ( const BasicVector3D< double > & v)
inline

Constructor from BasicVector3D<double>.

Definition at line 143 of file Vector3D.h.

References HepGeom::BasicVector3D< double >::BasicVector3D().

◆ ~Vector3D()

HepGeom::Vector3D< double >::~Vector3D ( )
default

Destructor.

◆ Vector3D() [9/9]

HepGeom::Vector3D< double >::Vector3D ( const CLHEP::Hep3Vector & v)
inline

Constructor from CLHEP::Hep3Vector. This constructor is needed only for backward compatibility and in principle should be absent.

Definition at line 154 of file Vector3D.h.

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

Member Function Documentation

◆ operator CLHEP::Hep3Vector()

HepGeom::Vector3D< double >::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 162 of file Vector3D.h.

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

◆ operator=() [1/4]

Vector3D< double > & HepGeom::Vector3D< double >::operator= ( const BasicVector3D< double > & v)
inline

◆ operator=() [2/4]

Vector3D< double > & HepGeom::Vector3D< double >::operator= ( const BasicVector3D< float > & v)
inline

◆ operator=() [3/4]

Vector3D< double > & HepGeom::Vector3D< double >::operator= ( const Vector3D< double > & )
default

Assignment.

References Vector3D().

◆ operator=() [4/4]

Vector3D< double > & HepGeom::Vector3D< double >::operator= ( Vector3D< double > && )
default

Move assignment.

References Vector3D().

◆ transform()

Vector3D< double > & HepGeom::Vector3D< double >::transform ( const Transform3D & m)

Transformation by Transform3D.

References Vector3D().

Friends And Related Symbol Documentation

◆ operator*() [1/4]

Vector3D< double > operator* ( const Transform3D & m,
const Vector3D< double > & v )
related

Transformation of Vector<double> by Transform3D.

References Vector3D().

◆ operator*() [2/4]

Vector3D< double > operator* ( const Transform3D & m,
const Vector3D< double > & v )
related

Transformation of Vector<double> by Transform3D.

◆ operator*() [3/4]

Vector3D< float > operator* ( const Transform3D & m,
const Vector3D< float > & v )
related

Transformation of Vector<float> by Transform3D.

References Vector3D().

◆ operator*() [4/4]

Vector3D< float > operator* ( const Transform3D & m,
const Vector3D< float > & v )
related

Transformation of Vector<float> by Transform3D.


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