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

#include <Rotation.h>

Inheritance diagram for CLHEP::HepRotation:
Inheritance graph
[legend]
Collaboration diagram for CLHEP::HepRotation:
Collaboration graph
[legend]

Classes

class  HepRotation_row
 

Public Member Functions

 HepRotation ()
 
 HepRotation (const HepRotation &m)
 
 HepRotation (const HepRotationX &m)
 
 HepRotation (const HepRotationY &m)
 
 HepRotation (const HepRotationZ &m)
 
HepRotationset (const Hep3Vector &axis, double delta)
 
 HepRotation (const Hep3Vector &axis, double delta)
 
HepRotationset (const HepAxisAngle &ax)
 
 HepRotation (const HepAxisAngle &ax)
 
HepRotationset (double phi, double theta, double psi)
 
 HepRotation (double phi, double theta, double psi)
 
HepRotationset (const HepEulerAngles &e)
 
 HepRotation (const HepEulerAngles &e)
 
 HepRotation (const Hep3Vector &colX, const Hep3Vector &colY, const Hep3Vector &colZ)
 
HepRotationset (const Hep3Vector &colX, const Hep3Vector &colY, const Hep3Vector &colZ)
 
HepRotationsetRows (const Hep3Vector &rowX, const Hep3Vector &rowY, const Hep3Vector &rowZ)
 
HepRotationset (const HepRotationX &r)
 
HepRotationset (const HepRotationY &r)
 
HepRotationset (const HepRotationZ &r)
 
HepRotationoperator= (const HepRotation &r)
 
HepRotationoperator= (const HepRotationX &r)
 
HepRotationoperator= (const HepRotationY &r)
 
HepRotationoperator= (const HepRotationZ &r)
 
HepRotationset (const HepRep3x3 &m)
 
 HepRotation (const HepRep3x3 &m)
 
 ~HepRotation ()
 
Hep3Vector colX () const
 
Hep3Vector colY () const
 
Hep3Vector colZ () const
 
Hep3Vector rowX () const
 
Hep3Vector rowY () const
 
Hep3Vector rowZ () const
 
double xx () const
 
double xy () const
 
double xz () const
 
double yx () const
 
double yy () const
 
double yz () const
 
double zx () const
 
double zy () const
 
double zz () const
 
HepRep3x3 rep3x3 () const
 
const HepRotation_row operator[] (int) const
 
double operator() (int, int) const
 
double getPhi () const
 
double getTheta () const
 
double getPsi () const
 
double phi () const
 
double theta () const
 
double psi () const
 
HepEulerAngles eulerAngles () const
 
double getDelta () const
 
Hep3Vector getAxis () const
 
double delta () const
 
Hep3Vector axis () const
 
HepAxisAngle axisAngle () const
 
void getAngleAxis (double &delta, Hep3Vector &axis) const
 
double phiX () const
 
double phiY () const
 
double phiZ () const
 
double thetaX () const
 
double thetaY () const
 
double thetaZ () const
 
HepLorentzVector col1 () const
 
HepLorentzVector col2 () const
 
HepLorentzVector col3 () const
 
HepLorentzVector col4 () const
 
HepLorentzVector row1 () const
 
HepLorentzVector row2 () const
 
HepLorentzVector row3 () const
 
HepLorentzVector row4 () const
 
double xt () const
 
double yt () const
 
double zt () const
 
double tx () const
 
double ty () const
 
double tz () const
 
double tt () const
 
HepRep4x4 rep4x4 () const
 
void setPhi (double phi)
 
void setTheta (double theta)
 
void setPsi (double psi)
 
void setAxis (const Hep3Vector &axis)
 
void setDelta (double delta)
 
void decompose (HepAxisAngle &rotation, Hep3Vector &boost) const
 
void decompose (Hep3Vector &boost, HepAxisAngle &rotation) const
 
bool isIdentity () const
 
int compare (const HepRotation &r) const
 
bool operator== (const HepRotation &r) const
 
bool operator!= (const HepRotation &r) const
 
bool operator< (const HepRotation &r) const
 
bool operator> (const HepRotation &r) const
 
bool operator<= (const HepRotation &r) const
 
bool operator>= (const HepRotation &r) const
 
double distance2 (const HepRotation &r) const
 
double howNear (const HepRotation &r) const
 
bool isNear (const HepRotation &r, double epsilon=Hep4RotationInterface::tolerance) const
 
double distance2 (const HepBoost &lt) const
 
double distance2 (const HepLorentzRotation &lt) const
 
double howNear (const HepBoost &lt) const
 
double howNear (const HepLorentzRotation &lt) const
 
bool isNear (const HepBoost &lt, double epsilon=Hep4RotationInterface::tolerance) const
 
bool isNear (const HepLorentzRotation &lt, double epsilon=Hep4RotationInterface::tolerance) const
 
double norm2 () const
 
void rectify ()
 
Hep3Vector operator() (const Hep3Vector &p) const
 
Hep3Vector operator* (const Hep3Vector &p) const
 
HepLorentzVector operator() (const HepLorentzVector &w) const
 
HepLorentzVector operator* (const HepLorentzVector &w) const
 
HepRotation operator* (const HepRotation &r) const
 
HepRotation operator* (const HepRotationX &rx) const
 
HepRotation operator* (const HepRotationY &ry) const
 
HepRotation operator* (const HepRotationZ &rz) const
 
HepRotationoperator*= (const HepRotation &r)
 
HepRotationtransform (const HepRotation &r)
 
HepRotationoperator*= (const HepRotationX &r)
 
HepRotationoperator*= (const HepRotationY &r)
 
HepRotationoperator*= (const HepRotationZ &r)
 
HepRotationtransform (const HepRotationX &r)
 
HepRotationtransform (const HepRotationY &r)
 
HepRotationtransform (const HepRotationZ &r)
 
HepRotationrotateX (double delta)
 
HepRotationrotateY (double delta)
 
HepRotationrotateZ (double delta)
 
HepRotationrotate (double delta, const Hep3Vector &axis)
 
HepRotationrotate (double delta, const Hep3Vector *axis)
 
HepRotationrotateAxes (const Hep3Vector &newX, const Hep3Vector &newY, const Hep3Vector &newZ)
 
HepRotation inverse () const
 
HepRotationinvert ()
 
std::ostream & print (std::ostream &os) const
 

Static Public Member Functions

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

Static Public Attributes

static DLL_API const HepRotation IDENTITY
 

Protected Member Functions

 HepRotation (double mxx, double mxy, double mxz, double myx, double myy, double myz, double mzx, double mzy, double mzz)
 

Protected Attributes

double rxx
 
double rxy
 
double rxz
 
double ryx
 
double ryy
 
double ryz
 
double rzx
 
double rzy
 
double rzz
 

Friends

HepRotation operator* (const HepRotationX &rx, const HepRotation &r)
 
HepRotation operator* (const HepRotationY &ry, const HepRotation &r)
 
HepRotation operator* (const HepRotationZ &rz, const HepRotation &r)
 

Detailed Description

Author

Definition at line 47 of file Rotation.h.

Constructor & Destructor Documentation

CLHEP::HepRotation::HepRotation ( )
inline

Here is the caller graph for this function:

CLHEP::HepRotation::HepRotation ( const HepRotation m)
inline
CLHEP::HepRotation::HepRotation ( const HepRotationX m)
inline
CLHEP::HepRotation::HepRotation ( const HepRotationY m)
inline
CLHEP::HepRotation::HepRotation ( const HepRotationZ m)
inline
CLHEP::HepRotation::HepRotation ( const Hep3Vector axis,
double  delta 
)

Definition at line 54 of file RotationA.cc.

Here is the call graph for this function:

CLHEP::HepRotation::HepRotation ( const HepAxisAngle ax)

Definition at line 61 of file RotationA.cc.

Here is the call graph for this function:

CLHEP::HepRotation::HepRotation ( double  phi,
double  theta,
double  psi 
)

Definition at line 57 of file RotationE.cc.

Here is the call graph for this function:

CLHEP::HepRotation::HepRotation ( const HepEulerAngles e)

Definition at line 64 of file RotationE.cc.

Here is the call graph for this function:

CLHEP::HepRotation::HepRotation ( const Hep3Vector colX,
const Hep3Vector colY,
const Hep3Vector colZ 
)

Definition at line 135 of file RotationC.cc.

Here is the call graph for this function:

CLHEP::HepRotation::HepRotation ( const HepRep3x3 m)
inline
CLHEP::HepRotation::~HepRotation ( )
inline
CLHEP::HepRotation::HepRotation ( double  mxx,
double  mxy,
double  mxz,
double  myx,
double  myy,
double  myz,
double  mzx,
double  mzy,
double  mzz 
)
inlineprotected

Member Function Documentation

Hep3Vector CLHEP::HepRotation::axis ( ) const

Definition at line 79 of file RotationA.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

HepAxisAngle CLHEP::HepRotation::axisAngle ( ) const

Definition at line 102 of file RotationA.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

HepLorentzVector CLHEP::HepRotation::col1 ( ) const
inline
HepLorentzVector CLHEP::HepRotation::col2 ( ) const
inline
HepLorentzVector CLHEP::HepRotation::col3 ( ) const
inline
HepLorentzVector CLHEP::HepRotation::col4 ( ) const
inline
Hep3Vector CLHEP::HepRotation::colX ( ) const
inline

Here is the caller graph for this function:

Hep3Vector CLHEP::HepRotation::colY ( ) const
inline

Here is the caller graph for this function:

Hep3Vector CLHEP::HepRotation::colZ ( ) const
inline

Here is the caller graph for this function:

int CLHEP::HepRotation::compare ( const HepRotation r) const

Definition at line 178 of file Rotation.cc.

void CLHEP::HepRotation::decompose ( HepAxisAngle rotation,
Hep3Vector boost 
) const

Definition at line 23 of file RotationP.cc.

Here is the call graph for this function:

void CLHEP::HepRotation::decompose ( Hep3Vector boost,
HepAxisAngle rotation 
) const

Definition at line 28 of file RotationP.cc.

Here is the call graph for this function:

double CLHEP::HepRotation::delta ( ) const

Definition at line 66 of file RotationA.cc.

Here is the caller graph for this function:

double CLHEP::HepRotation::distance2 ( const HepRotation r) const

Definition at line 33 of file RotationP.cc.

Here is the caller graph for this function:

double CLHEP::HepRotation::distance2 ( const HepBoost lt) const

Definition at line 39 of file RotationL.cc.

Here is the call graph for this function:

double CLHEP::HepRotation::distance2 ( const HepLorentzRotation lt) const

Definition at line 29 of file RotationL.cc.

Here is the call graph for this function:

HepEulerAngles CLHEP::HepRotation::eulerAngles ( ) const

Definition at line 201 of file RotationE.cc.

Here is the caller graph for this function:

void CLHEP::HepRotation::getAngleAxis ( double &  delta,
Hep3Vector axis 
) const

Definition at line 153 of file Rotation.cc.

Here is the call graph for this function:

Hep3Vector CLHEP::HepRotation::getAxis ( ) const
inline
double CLHEP::HepRotation::getDelta ( ) const
inline
double CLHEP::HepRotation::getPhi ( ) const
inline
double CLHEP::HepRotation::getPsi ( ) const
inline
double CLHEP::HepRotation::getTheta ( ) const
inline
static double CLHEP::HepRotation::getTolerance ( )
inlinestatic
double CLHEP::HepRotation::howNear ( const HepRotation r) const

Definition at line 41 of file RotationP.cc.

Here is the call graph for this function:

double CLHEP::HepRotation::howNear ( const HepBoost lt) const

Definition at line 47 of file RotationL.cc.

Here is the call graph for this function:

double CLHEP::HepRotation::howNear ( const HepLorentzRotation lt) const

Definition at line 43 of file RotationL.cc.

Here is the call graph for this function:

HepRotation CLHEP::HepRotation::inverse ( ) const
inline

Here is the caller graph for this function:

HepRotation& CLHEP::HepRotation::invert ( )
inline

Here is the caller graph for this function:

bool CLHEP::HepRotation::isIdentity ( ) const

Definition at line 172 of file Rotation.cc.

Here is the caller graph for this function:

bool CLHEP::HepRotation::isNear ( const HepRotation r,
double  epsilon = Hep4RotationInterface::tolerance 
) const

Definition at line 45 of file RotationP.cc.

Here is the call graph for this function:

bool CLHEP::HepRotation::isNear ( const HepBoost lt,
double  epsilon = Hep4RotationInterface::tolerance 
) const

Definition at line 56 of file RotationL.cc.

Here is the call graph for this function:

bool CLHEP::HepRotation::isNear ( const HepLorentzRotation lt,
double  epsilon = Hep4RotationInterface::tolerance 
) const

Definition at line 51 of file RotationL.cc.

Here is the call graph for this function:

double CLHEP::HepRotation::norm2 ( ) const

Definition at line 50 of file RotationP.cc.

Here is the caller graph for this function:

bool CLHEP::HepRotation::operator!= ( const HepRotation r) const
inline
double CLHEP::HepRotation::operator() ( int  i,
int  j 
) const

Definition at line 28 of file Rotation.cc.

Here is the call graph for this function:

Hep3Vector CLHEP::HepRotation::operator() ( const Hep3Vector p) const
inline
HepLorentzVector CLHEP::HepRotation::operator() ( const HepLorentzVector w) const
inline
Hep3Vector CLHEP::HepRotation::operator* ( const Hep3Vector p) const
inline
HepLorentzVector CLHEP::HepRotation::operator* ( const HepLorentzVector w) const
inline
HepRotation CLHEP::HepRotation::operator* ( const HepRotation r) const
inline
HepRotation CLHEP::HepRotation::operator* ( const HepRotationX rx) const
inline
HepRotation CLHEP::HepRotation::operator* ( const HepRotationY ry) const
inline
HepRotation CLHEP::HepRotation::operator* ( const HepRotationZ rz) const
inline
HepRotation& CLHEP::HepRotation::operator*= ( const HepRotation r)
inline
HepRotation& CLHEP::HepRotation::operator*= ( const HepRotationX r)
inline
HepRotation& CLHEP::HepRotation::operator*= ( const HepRotationY r)
inline
HepRotation& CLHEP::HepRotation::operator*= ( const HepRotationZ r)
inline
bool CLHEP::HepRotation::operator< ( const HepRotation r) const
inline
bool CLHEP::HepRotation::operator<= ( const HepRotation r) const
inline
HepRotation& CLHEP::HepRotation::operator= ( const HepRotation r)
inline
HepRotation& CLHEP::HepRotation::operator= ( const HepRotationX r)
inline
HepRotation& CLHEP::HepRotation::operator= ( const HepRotationY r)
inline
HepRotation& CLHEP::HepRotation::operator= ( const HepRotationZ r)
inline
bool CLHEP::HepRotation::operator== ( const HepRotation r) const
inline
bool CLHEP::HepRotation::operator> ( const HepRotation r) const
inline
bool CLHEP::HepRotation::operator>= ( const HepRotation r) const
inline
const HepRotation_row CLHEP::HepRotation::operator[] ( int  ) const
inline
double CLHEP::HepRotation::phi ( ) const

Definition at line 70 of file RotationE.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::HepRotation::phiX ( ) const

Definition at line 129 of file Rotation.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::HepRotation::phiY ( ) const

Definition at line 133 of file Rotation.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::HepRotation::phiZ ( ) const

Definition at line 137 of file Rotation.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream & CLHEP::HepRotation::print ( std::ostream &  os) const

Definition at line 21 of file RotationIO.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::HepRotation::psi ( ) const

Definition at line 110 of file RotationE.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void CLHEP::HepRotation::rectify ( )

Definition at line 152 of file RotationC.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

HepRep3x3 CLHEP::HepRotation::rep3x3 ( ) const
inline
HepRep4x4 CLHEP::HepRotation::rep4x4 ( ) const
inline

Here is the caller graph for this function:

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

Definition at line 47 of file Rotation.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

HepRotation& CLHEP::HepRotation::rotate ( double  delta,
const Hep3Vector axis 
)
inline
HepRotation & CLHEP::HepRotation::rotateAxes ( const Hep3Vector newX,
const Hep3Vector newY,
const Hep3Vector newZ 
)

Definition at line 105 of file Rotation.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

HepRotation & CLHEP::HepRotation::rotateX ( double  delta)

Definition at line 66 of file Rotation.cc.

Here is the caller graph for this function:

HepRotation & CLHEP::HepRotation::rotateY ( double  delta)

Definition at line 79 of file Rotation.cc.

HepRotation & CLHEP::HepRotation::rotateZ ( double  delta)

Definition at line 92 of file Rotation.cc.

Here is the caller graph for this function:

HepLorentzVector CLHEP::HepRotation::row1 ( ) const
inline
HepLorentzVector CLHEP::HepRotation::row2 ( ) const
inline
HepLorentzVector CLHEP::HepRotation::row3 ( ) const
inline
HepLorentzVector CLHEP::HepRotation::row4 ( ) const
inline
Hep3Vector CLHEP::HepRotation::rowX ( ) const
inline

Here is the caller graph for this function:

Hep3Vector CLHEP::HepRotation::rowY ( ) const
inline

Here is the caller graph for this function:

Hep3Vector CLHEP::HepRotation::rowZ ( ) const
inline

Here is the caller graph for this function:

HepRotation & CLHEP::HepRotation::set ( const Hep3Vector axis,
double  delta 
)

Definition at line 27 of file RotationA.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

HepRotation & CLHEP::HepRotation::set ( const HepAxisAngle ax)

Definition at line 58 of file RotationA.cc.

Here is the call graph for this function:

HepRotation & CLHEP::HepRotation::set ( double  phi,
double  theta,
double  psi 
)

Definition at line 35 of file RotationE.cc.

HepRotation & CLHEP::HepRotation::set ( const HepEulerAngles e)

Definition at line 61 of file RotationE.cc.

Here is the call graph for this function:

HepRotation & CLHEP::HepRotation::set ( const Hep3Vector colX,
const Hep3Vector colY,
const Hep3Vector colZ 
)

Definition at line 73 of file RotationC.cc.

Here is the call graph for this function:

HepRotation& CLHEP::HepRotation::set ( const HepRotationX r)
inline
HepRotation& CLHEP::HepRotation::set ( const HepRotationY r)
inline
HepRotation& CLHEP::HepRotation::set ( const HepRotationZ r)
inline
HepRotation& CLHEP::HepRotation::set ( const HepRep3x3 m)
inline
void CLHEP::HepRotation::setAxis ( const Hep3Vector axis)

Definition at line 109 of file RotationA.cc.

Here is the call graph for this function:

void CLHEP::HepRotation::setDelta ( double  delta)

Definition at line 113 of file RotationA.cc.

Here is the call graph for this function:

void CLHEP::HepRotation::setPhi ( double  phi)

Definition at line 262 of file RotationE.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void CLHEP::HepRotation::setPsi ( double  psi)

Definition at line 270 of file RotationE.cc.

Here is the call graph for this function:

HepRotation & CLHEP::HepRotation::setRows ( const Hep3Vector rowX,
const Hep3Vector rowY,
const Hep3Vector rowZ 
)

Definition at line 142 of file RotationC.cc.

Here is the call graph for this function:

void CLHEP::HepRotation::setTheta ( double  theta)

Definition at line 266 of file RotationE.cc.

Here is the call graph for this function:

static double CLHEP::HepRotation::setTolerance ( double  tol)
inlinestatic
double CLHEP::HepRotation::theta ( ) const

Definition at line 104 of file RotationE.cc.

Here is the caller graph for this function:

double CLHEP::HepRotation::thetaX ( ) const

Definition at line 141 of file Rotation.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::HepRotation::thetaY ( ) const

Definition at line 145 of file Rotation.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double CLHEP::HepRotation::thetaZ ( ) const

Definition at line 149 of file Rotation.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

HepRotation& CLHEP::HepRotation::transform ( const HepRotation r)
inline

Here is the caller graph for this function:

HepRotation& CLHEP::HepRotation::transform ( const HepRotationX r)
inline
HepRotation& CLHEP::HepRotation::transform ( const HepRotationY r)
inline
HepRotation& CLHEP::HepRotation::transform ( const HepRotationZ r)
inline
double CLHEP::HepRotation::tt ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::tx ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::ty ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::tz ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::xt ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::xx ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::xy ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::xz ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::yt ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::yx ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::yy ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::yz ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::zt ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::zx ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::zy ( ) const
inline

Here is the caller graph for this function:

double CLHEP::HepRotation::zz ( ) const
inline

Here is the caller graph for this function:

Friends And Related Function Documentation

HepRotation operator* ( const HepRotationX rx,
const HepRotation r 
)
friend
HepRotation operator* ( const HepRotationY ry,
const HepRotation r 
)
friend
HepRotation operator* ( const HepRotationZ rz,
const HepRotation r 
)
friend

Member Data Documentation

const HepRotation CLHEP::HepRotation::IDENTITY
static

Definition at line 369 of file Rotation.h.

double CLHEP::HepRotation::rxx
protected

Definition at line 388 of file Rotation.h.

double CLHEP::HepRotation::rxy
protected

Definition at line 388 of file Rotation.h.

double CLHEP::HepRotation::rxz
protected

Definition at line 388 of file Rotation.h.

double CLHEP::HepRotation::ryx
protected

Definition at line 388 of file Rotation.h.

double CLHEP::HepRotation::ryy
protected

Definition at line 388 of file Rotation.h.

double CLHEP::HepRotation::ryz
protected

Definition at line 388 of file Rotation.h.

double CLHEP::HepRotation::rzx
protected

Definition at line 388 of file Rotation.h.

double CLHEP::HepRotation::rzy
protected

Definition at line 388 of file Rotation.h.

double CLHEP::HepRotation::rzz
protected

Definition at line 388 of file Rotation.h.


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