library: libMathCore
#include "EulerAngles.h"

ROOT::Math::EulerAngles


class description - header file
viewCVS header

class ROOT::Math::EulerAngles

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
~EulerAngles()
ROOT::Math::EulerAnglesEulerAngles()
ROOT::Math::EulerAnglesEulerAngles(const ROOT::Math::Rotation3D& r)
ROOT::Math::EulerAnglesEulerAngles(const ROOT::Math::Quaternion& q)
ROOT::Math::EulerAnglesEulerAngles(const ROOT::Math::AxisAngle& a)
ROOT::Math::EulerAnglesEulerAngles(ROOT::Math::RotationZ const& r)
ROOT::Math::EulerAnglesEulerAngles(ROOT::Math::RotationY const& r)
ROOT::Math::EulerAnglesEulerAngles(ROOT::Math::RotationX const& r)
ROOT::Math::EulerAnglesEulerAngles(const ROOT::Math::EulerAngles&)
ROOT::Math::EulerAnglesEulerAngles(double* begin, double* end)
ROOT::Math::EulerAnglesEulerAngles(ROOT::Math::EulerAngles::Scalar phi, ROOT::Math::EulerAngles::Scalar theta, ROOT::Math::EulerAngles::Scalar psi)
voidGetComponents(double* begin) const
voidGetComponents(ROOT::Math::EulerAngles::Scalar& phi, ROOT::Math::EulerAngles::Scalar& theta, ROOT::Math::EulerAngles::Scalar& psi) const
ROOT::Math::EulerAnglesInverse() const
voidInvert()
booloperator!=(const ROOT::Math::EulerAngles& rhs) const
ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >operator()(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >& 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::PositionVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::DefaultCoordinateSystemTag>operator()(const ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>,ROOT::Math::DefaultCoordinateSystemTag>& v) const
ROOT::Math::EulerAnglesoperator*(const ROOT::Math::Rotation3D& r) const
ROOT::Math::EulerAnglesoperator*(const ROOT::Math::AxisAngle& a) const
ROOT::Math::EulerAnglesoperator*(const ROOT::Math::EulerAngles& e) const
ROOT::Math::EulerAnglesoperator*(const ROOT::Math::Quaternion& q) const
ROOT::Math::EulerAnglesoperator*(const ROOT::Math::RotationX& rx) const
ROOT::Math::EulerAnglesoperator*(const ROOT::Math::RotationY& ry) const
ROOT::Math::EulerAnglesoperator*(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::EulerAngles&operator=(ROOT::Math::Rotation3D const& r)
ROOT::Math::EulerAngles&operator=(ROOT::Math::AxisAngle const& a)
ROOT::Math::EulerAngles&operator=(ROOT::Math::Quaternion const& q)
ROOT::Math::EulerAngles&operator=(ROOT::Math::RotationZ const& r)
ROOT::Math::EulerAngles&operator=(ROOT::Math::RotationY const& r)
ROOT::Math::EulerAngles&operator=(ROOT::Math::RotationX const& r)
ROOT::Math::EulerAngles&operator=(const ROOT::Math::EulerAngles&)
booloperator==(const ROOT::Math::EulerAngles& rhs) const
ROOT::Math::EulerAngles::ScalarPhi() const
ROOT::Math::EulerAngles::ScalarPsi() const
voidRectify()
voidSetComponents(double* begin, double* end)
voidSetComponents(ROOT::Math::EulerAngles::Scalar phi, ROOT::Math::EulerAngles::Scalar theta, ROOT::Math::EulerAngles::Scalar psi)
voidSetPhi(ROOT::Math::EulerAngles::Scalar phi)
voidSetPsi(ROOT::Math::EulerAngles::Scalar psi)
voidSetTheta(ROOT::Math::EulerAngles::Scalar theta)
ROOT::Math::EulerAngles::ScalarTheta() const
private:
static doublePi()

Data Members

private:
doublefPhi
doublefTheta
doublefPsi

Class Description

EulerAngles()
{ }
EulerAngles( Scalar phi, Scalar theta, Scalar psi )
{Rectify();}
EulerAngles(IT begin, IT end)
{ SetComponents(begin,end); }
void Rectify()
explicit EulerAngles(const Rotation3D & r)
{gv_detail::convert(r,*this);}
explicit EulerAngles(const Quaternion & q)
{gv_detail::convert(q,*this);}
explicit EulerAngles(const AxisAngle & a )
{ gv_detail::convert(a, *this); }
explicit EulerAngles( RotationZ const & r )
{ gv_detail::convert(r, *this); }
explicit EulerAngles( RotationY const & r )
{ gv_detail::convert(r, *this); }
explicit EulerAngles( RotationX const & r )
{ gv_detail::convert(r, *this); }
operator=( Rotation3D const & r )
{ return operator=(EulerAngles(r)); }
operator=( AxisAngle const & a )
{ return operator=(EulerAngles(a)); }
operator=( Quaternion const & q )
{return operator=(EulerAngles(q)); }
operator=( RotationZ const & r )
{ return operator=(EulerAngles(r)); }
operator=( RotationY const & r )
{ return operator=(EulerAngles(r)); }
operator=( RotationX const & r )
{ return operator=(EulerAngles(r)); }
void SetComponents(IT begin, IT end)
void GetComponents(IT begin, IT end)
void GetComponents(IT begin)
void SetComponents(Scalar phi, Scalar theta, Scalar psi)
void SetPhi(Scalar phi)
{ fPhi=phi; Rectify(); }
Scalar Phi()
{ return fPhi; }
void SetTheta(Scalar theta)
{ fTheta=theta; Rectify(); }
Scalar Theta()
{ return fTheta; }
void SetPsi(Scalar psi)
{ fPsi=psi; Rectify(); }
Scalar Psi()
{ return fPsi; }
DisplacementVector3D< Cartesian3D<double>,U > rxyz = operator()(xyz)
xyz = operator()(xyz)
DisplacementVector3D< Cartesian3D<double> > rxyz = operator()(xyz)
void Invert()
 theta stays the same and negative rotation in Theta is done via a rotation 
 of + PI in pohi and Psi 
fPhi = -fPsi + Pi()
EulerAngles Inverse()
{ return EulerAngles(-fPsi + Pi(), fTheta, -fPhi + Pi()); }
return ! operator==(rhs)

Last update: Tue Nov 21 09:00:59 2006


ROOT page - Class index - Class Hierarchy - Top of the page

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.