Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CLHEP::HepEulerAngles Class Reference

#include <EulerAngles.h>

Public Member Functions

 HepEulerAngles ()
 
 HepEulerAngles (double phi, double theta, double psi)
 
double getPhi () const
 
double phi () const
 
EAsetPhi (double phi)
 
double getTheta () const
 
double theta () const
 
EAsetTheta (double theta)
 
double getPsi () const
 
double psi () const
 
EAsetPsi (double psi)
 
EAset (double phi, double theta, double psi)
 
int compare (const EA &ea) const
 
bool operator== (const EA &ea) const
 
bool operator!= (const EA &ea) const
 
bool operator< (const EA &ea) const
 
bool operator<= (const EA &ea) const
 
bool operator> (const EA &ea) const
 
bool operator>= (const EA &ea) const
 
bool isNear (const EA &ea, double epsilon=tolerance) const
 
double howNear (const EA &ea) const
 

Static Public Member Functions

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

Protected Types

typedef HepEulerAngles EA
 

Protected Member Functions

double distance (const HepEulerAngles &ex) const
 

Protected Attributes

double phi_
 
double theta_
 
double psi_
 

Static Protected Attributes

static double tolerance = Hep3Vector::ToleranceTicks * 1.0e-8
 

Friends

std::ostream & operator<< (std::ostream &os, const EA &ea)
 
std::istream & operator>> (std::istream &is, EA &ea)
 

Detailed Description

Author

Definition at line 39 of file EulerAngles.h.

Member Typedef Documentation

Definition at line 42 of file EulerAngles.h.

Constructor & Destructor Documentation

CLHEP::HepEulerAngles::HepEulerAngles ( )
inline
CLHEP::HepEulerAngles::HepEulerAngles ( double  phi,
double  theta,
double  psi 
)
inline

Member Function Documentation

int CLHEP::HepEulerAngles::compare ( const EA ea) const
inline
double CLHEP::HepEulerAngles::distance ( const HepEulerAngles ex) const
protected

Definition at line 64 of file EulerAngles.cc.

64  {
65 
66  double thisRep[9];
67  double exRep[9];
68 
69  ZMpvEulerAnglesRep ( *this, thisRep );
70  ZMpvEulerAnglesRep ( ex, exRep );
71 
72  double sum = 0.0;
73  for (int i = 0; i < 9; i++) {
74  sum += thisRep[i] * exRep[i];
75  }
76 
77  double d = 3.0 - sum; // NaN-proofing:
78  return (d >= 0) ? d : 0; // sqrt(distance) is used in howNear()
79 
80 } // HepEulerAngles::distance()
static void ZMpvEulerAnglesRep(const HepEulerAngles &ex, double array[])
Definition: EulerAngles.cc:43

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::HepEulerAngles::getPhi ( ) const
inline
double CLHEP::HepEulerAngles::getPsi ( ) const
inline
double CLHEP::HepEulerAngles::getTheta ( ) const
inline
static double CLHEP::HepEulerAngles::getTolerance ( )
inlinestatic
double CLHEP::HepEulerAngles::howNear ( const EA ea) const

Definition at line 90 of file EulerAngles.cc.

90  {
91 
92  return std::sqrt( distance( ex ) );
93 
94 } // HepEulerAngles::howNear()
double distance(const HepEulerAngles &ex) const
Definition: EulerAngles.cc:64

Here is the call graph for this function:

bool CLHEP::HepEulerAngles::isNear ( const EA ea,
double  epsilon = tolerance 
) const

Definition at line 83 of file EulerAngles.cc.

83  {
84 
85  return distance( ex ) <= epsilon*epsilon ;
86 
87 } // HepEulerAngles::isNear()
double distance(const HepEulerAngles &ex) const
Definition: EulerAngles.cc:64
double epsilon(double density, double temperature)

Here is the call graph for this function:

bool CLHEP::HepEulerAngles::operator!= ( const EA ea) const
inline
bool CLHEP::HepEulerAngles::operator< ( const EA ea) const
inline
bool CLHEP::HepEulerAngles::operator<= ( const EA ea) const
inline
bool CLHEP::HepEulerAngles::operator== ( const EA ea) const
inline
bool CLHEP::HepEulerAngles::operator> ( const EA ea) const
inline
bool CLHEP::HepEulerAngles::operator>= ( const EA ea) const
inline
double CLHEP::HepEulerAngles::phi ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepEulerAngles::psi ( ) const
inline

Here is the caller graph for this function:

EA& CLHEP::HepEulerAngles::set ( double  phi,
double  theta,
double  psi 
)
inline

Here is the caller graph for this function:

EA& CLHEP::HepEulerAngles::setPhi ( double  phi)
inline
EA& CLHEP::HepEulerAngles::setPsi ( double  psi)
inline
EA& CLHEP::HepEulerAngles::setTheta ( double  theta)
inline
static double CLHEP::HepEulerAngles::setTolerance ( double  tol)
inlinestatic
double CLHEP::HepEulerAngles::theta ( ) const
inline

Here is the caller graph for this function:

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const EA ea 
)
friend
std::istream& operator>> ( std::istream &  is,
EA ea 
)
friend

Member Data Documentation

double CLHEP::HepEulerAngles::phi_
protected

Definition at line 102 of file EulerAngles.h.

double CLHEP::HepEulerAngles::psi_
protected

Definition at line 104 of file EulerAngles.h.

double CLHEP::HepEulerAngles::theta_
protected

Definition at line 103 of file EulerAngles.h.

double CLHEP::HepEulerAngles::tolerance = Hep3Vector::ToleranceTicks * 1.0e-8
staticprotected

Definition at line 43 of file EulerAngles.h.


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