+
class ROOT::Math::RotationZYX
-
library: libMathCore
#include "RotationZYX.h"
Display options:
Show inherited
Show non-public

class ROOT::Math::RotationZYX

Function Members (Methods)

public:
~RotationZYX()
voidGetComponents(double* begin) const
voidGetComponents(ROOT::Math::RotationZYX::Scalar& phi, ROOT::Math::RotationZYX::Scalar& theta, ROOT::Math::RotationZYX::Scalar& psi) const
ROOT::Math::RotationZYXInverse() const
voidInvert()
booloperator!=(const ROOT::Math::RotationZYX& rhs) const
ROOT::Math::RotationZYXoperator*(const ROOT::Math::RotationZYX& e) const
ROOT::Math::RotationZYXoperator*(const ROOT::Math::Rotation3D& r) const
ROOT::Math::RotationZYXoperator*(const ROOT::Math::AxisAngle& a) const
ROOT::Math::RotationZYXoperator*(const ROOT::Math::Quaternion& q) const
ROOT::Math::RotationZYXoperator*(const ROOT::Math::EulerAngles& q) const
ROOT::Math::RotationZYXoperator*(const ROOT::Math::RotationX& rx) const
ROOT::Math::RotationZYXoperator*(const ROOT::Math::RotationY& ry) const
ROOT::Math::RotationZYXoperator*(const ROOT::Math::RotationZ& rz) const
ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::DefaultCoordinateSystemTag>operator*(const ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::DefaultCoordinateSystemTag>& v) const
ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::DefaultCoordinateSystemTag>operator*(const ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::DefaultCoordinateSystemTag>& v) const
ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >operator*(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >& v) const
ROOT::Math::RotationZYX&operator=(ROOT::Math::Rotation3D const& r)
ROOT::Math::RotationZYX&operator=(ROOT::Math::RotationX const& r)
ROOT::Math::RotationZYX&operator=(ROOT::Math::RotationY const& r)
ROOT::Math::RotationZYX&operator=(ROOT::Math::RotationZ const& r)
ROOT::Math::RotationZYX&operator=(const ROOT::Math::RotationZYX&)
booloperator==(const ROOT::Math::RotationZYX& rhs) const
ROOT::Math::RotationZYX::ScalarPhi() const
ROOT::Math::RotationZYX::ScalarPsi() const
voidRectify()
ROOT::Math::RotationZYXRotationZYX()
ROOT::Math::RotationZYXRotationZYX(const ROOT::Math::RotationZYX&)
ROOT::Math::RotationZYXRotationZYX(ROOT::Math::RotationZYX::Scalar phi, ROOT::Math::RotationZYX::Scalar theta, ROOT::Math::RotationZYX::Scalar psi)
voidSetComponents(double* begin, double* end)
voidSetComponents(ROOT::Math::RotationZYX::Scalar phi, ROOT::Math::RotationZYX::Scalar theta, ROOT::Math::RotationZYX::Scalar psi)
voidSetPhi(ROOT::Math::RotationZYX::Scalar phi)
voidSetPsi(ROOT::Math::RotationZYX::Scalar psi)
voidSetTheta(ROOT::Math::RotationZYX::Scalar theta)
ROOT::Math::RotationZYX::ScalarTheta() const
private:
static doublePi()

Data Members

private:
doublefPhi
doublefPsi
doublefTheta

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void Rectify()
 rectify . The angle theta must be defined between [-PI/2,PI.2]
  same as Euler- Angles, just here Theta is shifted by PI/2 with respect to
 the theta of the EulerAngles class
void Invert()
 invert this rotation.
 use Rotation3D. TO Do :have algorithm to invert it directly
RotationZYX(const ROOT::Math::RotationZYX& )
 ========== Constructors and Assignment =====================

Default constructor

{ }
RotationZYX(ROOT::Math::RotationZYX::Scalar phi, ROOT::Math::RotationZYX::Scalar theta, ROOT::Math::RotationZYX::Scalar psi)
Constructor from phi, theta and psi

{Rectify();}
RotationZYX(IT begin, IT end)
Construct given a pair of pointers or iterators defining the
beginning and end of an array of three Scalars, to be treated as
the angles phi, theta and psi.

{ SetComponents(begin,end); }
RotationZYX & operator=( OtherRotation const & r )
Assign from another supported rotation type (see gv_detail::convert )

void SetComponents(double* begin, double* end)
 ======== Components ==============

Set the three Euler angles given a pair of pointers or iterators
defining the beginning and end of an array of three Scalars.

void GetComponents(IT begin, IT end)
Get the axis and then the angle into data specified by an iterator begin
and another to the end of the desired data (4 past start).

void GetComponents(double* begin) const
Get the axis and then the angle into data specified by an iterator begin

void SetComponents(ROOT::Math::RotationZYX::Scalar phi, ROOT::Math::RotationZYX::Scalar theta, ROOT::Math::RotationZYX::Scalar psi)
Set the components phi, theta, psi based on three Scalars.

void SetPhi(ROOT::Math::RotationZYX::Scalar phi)
Set Phi angle (Z rotation angle)

{ fPhi=phi; Rectify(); }
Scalar Phi()
Return Phi angle (Z rotation angle)

{ return fPhi; }
void SetTheta(ROOT::Math::RotationZYX::Scalar theta)
Set Theta angle (Y' rotation angle)

{ fTheta=theta; Rectify(); }
Scalar Theta()
Return Theta angle (Y' rotation angle)

{ return fTheta; }
void SetPsi(ROOT::Math::RotationZYX::Scalar psi)
Set Psi angle (X'' rotation angle)

{ fPsi=psi; Rectify(); }
Scalar Psi()
Return Psi angle (X'' rotation angle)

{ return fPsi; }
AVector operator*(const AVector & v)
Overload operator * for rotation on a vector

RotationZYX Inverse()
Return inverse of a rotation

return ! operator==(const ROOT::Math::RotationZYX& rhs) const
double Pi()
{ return M_PI; }
RotationZYX operator*(RotationX const & r1, RotationZYX const & r2)
Multiplication of an axial rotation by an AxisAngle

RotationZYX operator*(RotationY const & r1, RotationZYX const & r2)
RotationZYX operator*(RotationZ const & r1, RotationZYX const & r2)

Last update: root/mathcore:$Name: $:$Id: RotationZYX.cxx,v 1.1 2007/05/25 10:46:29 moneta Exp $
Copyright (c) 2005 , LCG ROOT FNAL MathLib Team *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.