Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
CLHEP::Hep3Vector Class Reference

#include <ThreeVector.h>

Inheritance diagram for CLHEP::Hep3Vector:
Inheritance graph
[legend]

Public Types

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

Public Member Functions

 Hep3Vector ()
 
 Hep3Vector (double x)
 
 Hep3Vector (double x, double y)
 
 Hep3Vector (double x, double y, double z)
 
 Hep3Vector (const Hep3Vector &)
 
 ~Hep3Vector ()
 
double operator() (int) const
 
double operator[] (int) const
 
double & operator() (int)
 
double & operator[] (int)
 
double x () const
 
double y () const
 
double z () const
 
void setX (double)
 
void setY (double)
 
void setZ (double)
 
void set (double x, double y, double z)
 
double phi () const
 
double theta () const
 
double cosTheta () const
 
double cos2Theta () const
 
double mag2 () const
 
double mag () const
 
void setPhi (double)
 
void setTheta (double)
 
void setMag (double)
 
double perp2 () const
 
double perp () const
 
void setPerp (double)
 
void setCylTheta (double)
 
double perp2 (const Hep3Vector &) const
 
double perp (const Hep3Vector &) const
 
Hep3Vectoroperator= (const Hep3Vector &)
 
bool operator== (const Hep3Vector &) const
 
bool operator!= (const Hep3Vector &) const
 
bool isNear (const Hep3Vector &, double epsilon=tolerance) const
 
double howNear (const Hep3Vector &v) const
 
double deltaR (const Hep3Vector &v) const
 
Hep3Vectoroperator+= (const Hep3Vector &)
 
Hep3Vectoroperator-= (const Hep3Vector &)
 
Hep3Vector operator- () const
 
Hep3Vectoroperator*= (double)
 
Hep3Vectoroperator/= (double)
 
Hep3Vector unit () const
 
Hep3Vector orthogonal () const
 
double dot (const Hep3Vector &) const
 
Hep3Vector cross (const Hep3Vector &) const
 
double angle (const Hep3Vector &) const
 
double pseudoRapidity () const
 
void setEta (double p)
 
void setCylEta (double p)
 
Hep3VectorrotateX (double)
 
Hep3VectorrotateY (double)
 
Hep3VectorrotateZ (double)
 
Hep3VectorrotateUz (const Hep3Vector &)
 
Hep3Vectorrotate (double, const Hep3Vector &)
 
Hep3Vectoroperator*= (const HepRotation &)
 
Hep3Vectortransform (const HepRotation &)
 
void setRThetaPhi (double r, double theta, double phi)
 
void setREtaPhi (double r, double eta, double phi)
 
void setRhoPhiZ (double rho, double phi, double z)
 
void setRhoPhiTheta (double rho, double phi, double theta)
 
void setRhoPhiEta (double rho, double phi, double eta)
 
double getX () const
 
double getY () const
 
double getZ () const
 
double getR () const
 
double getTheta () const
 
double getPhi () const
 
double r () const
 
double rho () const
 
double getRho () const
 
double eta () const
 
double getEta () const
 
void setR (double s)
 
void setRho (double s)
 
int compare (const Hep3Vector &v) const
 
bool operator> (const Hep3Vector &v) const
 
bool operator< (const Hep3Vector &v) const
 
bool operator>= (const Hep3Vector &v) const
 
bool operator<= (const Hep3Vector &v) const
 
double diff2 (const Hep3Vector &v) const
 
bool isParallel (const Hep3Vector &v, double epsilon=tolerance) const
 
bool isOrthogonal (const Hep3Vector &v, double epsilon=tolerance) const
 
double howParallel (const Hep3Vector &v) const
 
double howOrthogonal (const Hep3Vector &v) const
 
double beta () const
 
double gamma () const
 
double coLinearRapidity () const
 
double angle () const
 
double theta (const Hep3Vector &v2) const
 
double cosTheta (const Hep3Vector &v2) const
 
double cos2Theta (const Hep3Vector &v2) const
 
Hep3Vector project () const
 
Hep3Vector project (const Hep3Vector &v2) const
 
Hep3Vector perpPart () const
 
Hep3Vector perpPart (const Hep3Vector &v2) const
 
double rapidity () const
 
double rapidity (const Hep3Vector &v2) const
 
double eta (const Hep3Vector &v2) const
 
double polarAngle (const Hep3Vector &v2) const
 
double deltaPhi (const Hep3Vector &v2) const
 
double azimAngle (const Hep3Vector &v2) const
 
double polarAngle (const Hep3Vector &v2, const Hep3Vector &ref) const
 
double azimAngle (const Hep3Vector &v2, const Hep3Vector &ref) const
 
Hep3Vectorrotate (const Hep3Vector &axis, double delta)
 
Hep3Vectorrotate (const HepAxisAngle &ax)
 
Hep3Vectorrotate (const HepEulerAngles &e)
 
Hep3Vectorrotate (double phi, double theta, double psi)
 

Static Public Member Functions

static double setTolerance (double tol)
 
static double getTolerance ()
 

Protected Member Functions

void setSpherical (double r, double theta, double phi)
 
void setCylindrical (double r, double phi, double z)
 
double negativeInfinity () const
 

Protected Attributes

double dx
 
double dy
 
double dz
 

Static Protected Attributes

static DLL_API double tolerance = Hep3Vector::ToleranceTicks * 2.22045e-16
 

Detailed Description

Author

Definition at line 41 of file ThreeVector.h.

Member Enumeration Documentation

anonymous enum
Enumerator
X 
Y 
Z 
NUM_COORDINATES 
SIZE 

Definition at line 47 of file ThreeVector.h.

anonymous enum
Enumerator
ToleranceTicks 

Definition at line 298 of file ThreeVector.h.

Constructor & Destructor Documentation

CLHEP::Hep3Vector::Hep3Vector ( )
CLHEP::Hep3Vector::Hep3Vector ( double  x)
explicit
CLHEP::Hep3Vector::Hep3Vector ( double  x,
double  y 
)
CLHEP::Hep3Vector::Hep3Vector ( double  x,
double  y,
double  z 
)
CLHEP::Hep3Vector::Hep3Vector ( const Hep3Vector )
inline
CLHEP::Hep3Vector::~Hep3Vector ( )
inline

Member Function Documentation

double CLHEP::Hep3Vector::angle ( const Hep3Vector ) const

Here is the caller graph for this function:

double CLHEP::Hep3Vector::angle ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::azimAngle ( const Hep3Vector v2) const
double CLHEP::Hep3Vector::azimAngle ( const Hep3Vector v2,
const Hep3Vector ref 
) const

Definition at line 40 of file SpaceVectorD.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::beta ( ) const

Definition at line 30 of file SpaceVectorP.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::Hep3Vector::coLinearRapidity ( ) const

Definition at line 69 of file SpaceVectorP.cc.

Here is the call graph for this function:

int CLHEP::Hep3Vector::compare ( const Hep3Vector v) const

Definition at line 122 of file SpaceVector.cc.

Here is the caller graph for this function:

double CLHEP::Hep3Vector::cos2Theta ( ) const
inline
double CLHEP::Hep3Vector::cos2Theta ( const Hep3Vector v2) const

Definition at line 201 of file ThreeVector.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::cosTheta ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::cosTheta ( const Hep3Vector v2) const

Definition at line 188 of file ThreeVector.cc.

Here is the call graph for this function:

Hep3Vector CLHEP::Hep3Vector::cross ( const Hep3Vector ) const
inline
double CLHEP::Hep3Vector::deltaPhi ( const Hep3Vector v2) const

Definition at line 172 of file ThreeVector.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::Hep3Vector::deltaR ( const Hep3Vector v) const

Definition at line 182 of file ThreeVector.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::diff2 ( const Hep3Vector v) const
inline
double CLHEP::Hep3Vector::dot ( const Hep3Vector ) const
inline
double CLHEP::Hep3Vector::eta ( ) const

Here is the caller graph for this function:

double CLHEP::Hep3Vector::eta ( const Hep3Vector v2) const

Definition at line 117 of file SpaceVectorP.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::gamma ( ) const

Definition at line 39 of file SpaceVectorP.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::getEta ( ) const
double CLHEP::Hep3Vector::getPhi ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::getR ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::getRho ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::getTheta ( ) const
inline

Here is the caller graph for this function:

static double CLHEP::Hep3Vector::getTolerance ( )
inlinestatic
double CLHEP::Hep3Vector::getX ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::getY ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::getZ ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::howNear ( const Hep3Vector v) const

Definition at line 159 of file ThreeVector.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::howOrthogonal ( const Hep3Vector v) const

Definition at line 219 of file SpaceVector.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::Hep3Vector::howParallel ( const Hep3Vector v) const

Definition at line 168 of file SpaceVector.cc.

Here is the call graph for this function:

bool CLHEP::Hep3Vector::isNear ( const Hep3Vector v,
double  epsilon = tolerance 
) const

Definition at line 154 of file ThreeVector.cc.

Here is the call graph for this function:

bool CLHEP::Hep3Vector::isOrthogonal ( const Hep3Vector v,
double  epsilon = tolerance 
) const

Definition at line 237 of file SpaceVector.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

bool CLHEP::Hep3Vector::isParallel ( const Hep3Vector v,
double  epsilon = tolerance 
) const

Definition at line 184 of file SpaceVector.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::mag ( ) const
inline
double CLHEP::Hep3Vector::mag2 ( ) const
inline
double CLHEP::Hep3Vector::negativeInfinity ( ) const
protected

Definition at line 283 of file SpaceVector.cc.

Here is the caller graph for this function:

bool CLHEP::Hep3Vector::operator!= ( const Hep3Vector ) const
inline
double CLHEP::Hep3Vector::operator() ( int  i) const

Definition at line 38 of file ThreeVector.cc.

Here is the call graph for this function:

double & CLHEP::Hep3Vector::operator() ( int  i)

Definition at line 54 of file ThreeVector.cc.

Hep3Vector& CLHEP::Hep3Vector::operator*= ( double  )
inline

Here is the caller graph for this function:

Hep3Vector & CLHEP::Hep3Vector::operator*= ( const HepRotation m1)

Definition at line 20 of file ThreeVectorR.cc.

Hep3Vector& CLHEP::Hep3Vector::operator+= ( const Hep3Vector )
inline
Hep3Vector CLHEP::Hep3Vector::operator- ( ) const
inline
Hep3Vector& CLHEP::Hep3Vector::operator-= ( const Hep3Vector )
inline
Hep3Vector & CLHEP::Hep3Vector::operator/= ( double  c)

Definition at line 347 of file ThreeVector.cc.

bool CLHEP::Hep3Vector::operator< ( const Hep3Vector v) const

Definition at line 144 of file SpaceVector.cc.

Here is the call graph for this function:

bool CLHEP::Hep3Vector::operator<= ( const Hep3Vector v) const

Definition at line 150 of file SpaceVector.cc.

Here is the call graph for this function:

Hep3Vector& CLHEP::Hep3Vector::operator= ( const Hep3Vector )
inline
bool CLHEP::Hep3Vector::operator== ( const Hep3Vector ) const
inline
bool CLHEP::Hep3Vector::operator> ( const Hep3Vector v) const

Definition at line 141 of file SpaceVector.cc.

Here is the call graph for this function:

bool CLHEP::Hep3Vector::operator>= ( const Hep3Vector v) const

Definition at line 147 of file SpaceVector.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::operator[] ( int  ) const
inline
double& CLHEP::Hep3Vector::operator[] ( int  )
inline
Hep3Vector CLHEP::Hep3Vector::orthogonal ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::perp ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::perp ( const Hep3Vector ) const
inline
double CLHEP::Hep3Vector::perp2 ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::perp2 ( const Hep3Vector ) const
inline
Hep3Vector CLHEP::Hep3Vector::perpPart ( ) const
inline

Here is the caller graph for this function:

Hep3Vector CLHEP::Hep3Vector::perpPart ( const Hep3Vector v2) const
inline
double CLHEP::Hep3Vector::phi ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::polarAngle ( const Hep3Vector v2) const

Definition at line 28 of file SpaceVectorD.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::polarAngle ( const Hep3Vector v2,
const Hep3Vector ref 
) const

Definition at line 32 of file SpaceVectorD.cc.

Here is the call graph for this function:

Hep3Vector CLHEP::Hep3Vector::project ( ) const
inline

Here is the caller graph for this function:

Hep3Vector CLHEP::Hep3Vector::project ( const Hep3Vector v2) const

Definition at line 89 of file SpaceVectorP.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::pseudoRapidity ( ) const

Definition at line 92 of file ThreeVector.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::r ( ) const
inline
double CLHEP::Hep3Vector::rapidity ( ) const

Definition at line 54 of file SpaceVectorP.cc.

double CLHEP::Hep3Vector::rapidity ( const Hep3Vector v2) const

Definition at line 100 of file SpaceVectorP.cc.

Here is the call graph for this function:

double CLHEP::Hep3Vector::rho ( ) const
inline
Hep3Vector & CLHEP::Hep3Vector::rotate ( double  aangle,
const Hep3Vector aaxis 
)

Definition at line 28 of file ThreeVectorR.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

Hep3Vector & CLHEP::Hep3Vector::rotate ( const Hep3Vector axis,
double  delta 
)

Definition at line 25 of file SpaceVectorR.cc.

Here is the call graph for this function:

Hep3Vector & CLHEP::Hep3Vector::rotate ( const HepAxisAngle ax)

Definition at line 112 of file SpaceVectorR.cc.

Here is the call graph for this function:

Hep3Vector & CLHEP::Hep3Vector::rotate ( const HepEulerAngles e)

Definition at line 116 of file SpaceVectorR.cc.

Here is the call graph for this function:

Hep3Vector & CLHEP::Hep3Vector::rotate ( double  phi,
double  theta,
double  psi 
)

Definition at line 74 of file SpaceVectorR.cc.

Hep3Vector & CLHEP::Hep3Vector::rotateUz ( const Hep3Vector NewUzVector)

Definition at line 72 of file ThreeVector.cc.

Here is the call graph for this function:

Hep3Vector & CLHEP::Hep3Vector::rotateX ( double  phi1)

Definition at line 124 of file ThreeVector.cc.

Here is the caller graph for this function:

Hep3Vector & CLHEP::Hep3Vector::rotateY ( double  phi1)

Definition at line 134 of file ThreeVector.cc.

Here is the caller graph for this function:

Hep3Vector & CLHEP::Hep3Vector::rotateZ ( double  phi1)

Definition at line 144 of file ThreeVector.cc.

Here is the caller graph for this function:

void CLHEP::Hep3Vector::set ( double  x,
double  y,
double  z 
)
inline
void CLHEP::Hep3Vector::setCylEta ( double  p)

Definition at line 293 of file ThreeVector.cc.

Here is the call graph for this function:

void CLHEP::Hep3Vector::setCylindrical ( double  r,
double  phi,
double  z 
)
protected

Definition at line 56 of file SpaceVector.cc.

void CLHEP::Hep3Vector::setCylTheta ( double  theta1)

Definition at line 245 of file ThreeVector.cc.

Here is the call graph for this function:

void CLHEP::Hep3Vector::setEta ( double  p)

Definition at line 217 of file ThreeVector.cc.

Here is the call graph for this function:

void CLHEP::Hep3Vector::setMag ( double  ma)

Definition at line 25 of file ThreeVector.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void CLHEP::Hep3Vector::setPerp ( double  )
inline
void CLHEP::Hep3Vector::setPhi ( double  )
inline

Here is the caller graph for this function:

void CLHEP::Hep3Vector::setR ( double  s)
inline
void CLHEP::Hep3Vector::setREtaPhi ( double  r,
double  eta,
double  phi 
)
inline
void CLHEP::Hep3Vector::setRho ( double  s)
inline
void CLHEP::Hep3Vector::setRhoPhiEta ( double  rho,
double  phi,
double  eta 
)

Definition at line 98 of file SpaceVector.cc.

void CLHEP::Hep3Vector::setRhoPhiTheta ( double  rho,
double  phi,
double  theta 
)

Definition at line 71 of file SpaceVector.cc.

void CLHEP::Hep3Vector::setRhoPhiZ ( double  rho,
double  phi,
double  z 
)
inline
void CLHEP::Hep3Vector::setRThetaPhi ( double  r,
double  theta,
double  phi 
)
inline
void CLHEP::Hep3Vector::setSpherical ( double  r,
double  theta,
double  phi 
)
protected

Definition at line 35 of file SpaceVector.cc.

void CLHEP::Hep3Vector::setTheta ( double  )
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::setTolerance ( double  tol)
static

Definition at line 271 of file SpaceVector.cc.

void CLHEP::Hep3Vector::setX ( double  )
inline
void CLHEP::Hep3Vector::setY ( double  )
inline
void CLHEP::Hep3Vector::setZ ( double  )
inline
double CLHEP::Hep3Vector::theta ( ) const
inline

Here is the caller graph for this function:

double CLHEP::Hep3Vector::theta ( const Hep3Vector v2) const
inline
Hep3Vector & CLHEP::Hep3Vector::transform ( const HepRotation m1)

Definition at line 24 of file ThreeVectorR.cc.

Here is the caller graph for this function:

Hep3Vector CLHEP::Hep3Vector::unit ( ) const
inline
double CLHEP::Hep3Vector::x ( ) const
inline
double CLHEP::Hep3Vector::y ( ) const
inline
double CLHEP::Hep3Vector::z ( ) const
inline

Member Data Documentation

double CLHEP::Hep3Vector::dx
protected

Definition at line 394 of file ThreeVector.h.

double CLHEP::Hep3Vector::dy
protected

Definition at line 395 of file ThreeVector.h.

double CLHEP::Hep3Vector::dz
protected

Definition at line 396 of file ThreeVector.h.

double CLHEP::Hep3Vector::tolerance = Hep3Vector::ToleranceTicks * 2.22045e-16
staticprotected

Definition at line 399 of file ThreeVector.h.


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