#include <EulerAngles.h>
Public Types | |
| typedef double | Scalar |
Public Member Functions | |
| EulerAngles () | |
| Default constructor. | |
| EulerAngles (Scalar phi, Scalar theta, Scalar psi) | |
| Constructor from phi, theta and psi. | |
| template<class IT > | |
| EulerAngles (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. | |
| void | Rectify () |
| Re-adjust components place angles in canonical ranges. | |
| template<class OtherRotation > | |
| EulerAngles (const OtherRotation &r) | |
| Create from any other supported rotation (see gv_detail::convert ). | |
| template<class OtherRotation > | |
| EulerAngles & | operator= (OtherRotation const &r) |
| Assign from any other rotation (see gv_detail::convert ). | |
| template<class IT > | |
| void | SetComponents (IT begin, IT end) |
| Set the three Euler angles given a pair of pointers or iterators defining the beginning and end of an array of three Scalars. | |
| template<class IT > | |
| void | GetComponents (IT begin, IT end) const |
| 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). | |
| template<class IT > | |
| void | GetComponents (IT begin) const |
| Get the axis and then the angle into data specified by an iterator begin. | |
| void | SetComponents (Scalar phi, Scalar theta, Scalar psi) |
| Set the components phi, theta, psi based on three Scalars. | |
| void | GetComponents (Scalar &phi, Scalar &theta, Scalar &psi) const |
| Get the components phi, theta, psi into three Scalars. | |
| void | SetPhi (Scalar phi) |
| Set Phi Euler angle // JMM 30 Jan. | |
| Scalar | Phi () const |
| Return Phi Euler angle. | |
| void | SetTheta (Scalar theta) |
| Set Theta Euler angle // JMM 30 Jan. | |
| Scalar | Theta () const |
| Return Theta Euler angle. | |
| void | SetPsi (Scalar psi) |
| Set Psi Euler angle // JMM 30 Jan. | |
| Scalar | Psi () const |
| Return Psi Euler angle. | |
| template<class CoordSystem , class U > | |
| DisplacementVector3D < CoordSystem, U > | operator() (const DisplacementVector3D< CoordSystem, U > &v) const |
| Rotation operation on a displacement vector in any coordinate system and tag. | |
| template<class CoordSystem , class U > | |
| PositionVector3D< CoordSystem, U > | operator() (const PositionVector3D< CoordSystem, U > &v) const |
| Rotation operation on a position vector in any coordinate system. | |
| template<class CoordSystem > | |
| LorentzVector< CoordSystem > | operator() (const LorentzVector< CoordSystem > &v) const |
| Rotation operation on a Lorentz vector in any 4D coordinate system. | |
| template<class ForeignVector > | |
| ForeignVector | operator() (const ForeignVector &v) const |
| Rotation operation on an arbitrary vector v. | |
| template<class AVector > | |
| AVector | operator* (const AVector &v) const |
| Overload operator * for rotation on a vector. | |
| void | Invert () |
| Invert a rotation in place. | |
| EulerAngles | Inverse () const |
| Return inverse of a rotation. | |
| EulerAngles | operator* (const Rotation3D &r) const |
| Multiply (combine) two rotations. | |
| EulerAngles | operator* (const AxisAngle &a) const |
| EulerAngles | operator* (const EulerAngles &e) const |
| EulerAngles | operator* (const Quaternion &q) const |
| EulerAngles | operator* (const RotationX &rx) const |
| EulerAngles | operator* (const RotationY &ry) const |
| EulerAngles | operator* (const RotationZ &rz) const |
| template<class R > | |
| EulerAngles & | operator*= (const R &r) |
| Post-Multiply (on right) by another rotation : T = T*R. | |
| template<class R > | |
| Scalar | Distance (const R &r) const |
| Distance between two rotations. | |
| bool | operator== (const EulerAngles &rhs) const |
| Equality/inequality operators. | |
| bool | operator!= (const EulerAngles &rhs) const |
The Euler angles definition matches that of Classical Mechanics (Goldstein). It is also the same convention defined in mathworld and used in Mathematica and CLHEP. Note that the ROOT class TRotation defines a slightly different convention.
Definition at line 43 of file GenVector/EulerAngles.h.
| typedef double ROOT::Math::EulerAngles::Scalar |
Definition at line 47 of file GenVector/EulerAngles.h.
| ROOT::Math::EulerAngles::EulerAngles | ( | ) | [inline] |
Default constructor.
Definition at line 52 of file GenVector/EulerAngles.h.
Referenced by Inverse(), and operator*().
Constructor from phi, theta and psi.
Definition at line 57 of file GenVector/EulerAngles.h.
References Rectify().
| ROOT::Math::EulerAngles::EulerAngles | ( | IT | begin, | |
| IT | end | |||
| ) | [inline] |
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.
Definition at line 67 of file GenVector/EulerAngles.h.
References SetComponents().
| ROOT::Math::EulerAngles::EulerAngles | ( | const OtherRotation & | r | ) | [inline, explicit] |
Create from any other supported rotation (see gv_detail::convert ).
Definition at line 83 of file GenVector/EulerAngles.h.
References ROOT::Math::gv_detail::convert().
| Scalar ROOT::Math::EulerAngles::Distance | ( | const R & | r | ) | const [inline] |
Distance between two rotations.
Definition at line 323 of file GenVector/EulerAngles.h.
References ROOT::Math::gv_detail::dist().
| void ROOT::Math::EulerAngles::GetComponents | ( | Scalar & | phi, | |
| Scalar & | theta, | |||
| Scalar & | psi | |||
| ) | const [inline] |
Get the components phi, theta, psi into three Scalars.
Definition at line 192 of file GenVector/EulerAngles.h.
| void ROOT::Math::EulerAngles::GetComponents | ( | IT | begin | ) | const [inline] |
Get the axis and then the angle into data specified by an iterator begin.
Definition at line 175 of file GenVector/EulerAngles.h.
| void ROOT::Math::EulerAngles::GetComponents | ( | IT | begin, | |
| IT | end | |||
| ) | const [inline] |
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).
Definition at line 164 of file GenVector/EulerAngles.h.
| EulerAngles ROOT::Math::EulerAngles::Inverse | ( | ) | const [inline] |
Return inverse of a rotation.
Definition at line 298 of file GenVector/EulerAngles.h.
References EulerAngles().
| void ROOT::Math::EulerAngles::Invert | ( | ) | [inline] |
| bool ROOT::Math::EulerAngles::operator!= | ( | const EulerAngles & | rhs | ) | const [inline] |
| ForeignVector ROOT::Math::EulerAngles::operator() | ( | const ForeignVector & | v | ) | const [inline] |
Rotation operation on an arbitrary vector v.
Preconditions: v must implement methods x(), y(), and z() and the arbitrary vector type must have a constructor taking (x,y,z)
Definition at line 268 of file GenVector/EulerAngles.h.
References operator()(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::X(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::Y(), and ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::Z().
| LorentzVector<CoordSystem> ROOT::Math::EulerAngles::operator() | ( | const LorentzVector< CoordSystem > & | v | ) | const [inline] |
Rotation operation on a Lorentz vector in any 4D coordinate system.
Definition at line 254 of file GenVector/EulerAngles.h.
References ROOT::Math::LorentzVector< CoordSystem >::E(), operator()(), ROOT::Math::LorentzVector< CoordSystem >::Vect(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::X(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::Y(), and ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::Z().
| PositionVector3D<CoordSystem, U> ROOT::Math::EulerAngles::operator() | ( | const PositionVector3D< CoordSystem, U > & | v | ) | const [inline] |
Rotation operation on a position vector in any coordinate system.
Definition at line 243 of file GenVector/EulerAngles.h.
References operator()().
| DisplacementVector3D<CoordSystem,U> ROOT::Math::EulerAngles::operator() | ( | const DisplacementVector3D< CoordSystem, U > & | v | ) | const [inline] |
Rotation operation on a displacement vector in any coordinate system and tag.
Definition at line 234 of file GenVector/EulerAngles.h.
Referenced by operator()(), and operator*().
| EulerAngles ROOT::Math::EulerAngles::operator* | ( | const RotationZ & | rz | ) | const |
Definition at line 102 of file EulerAngles.cxx.
References ROOT::Math::RotationZ::Angle(), EulerAngles(), and floor().
| EulerAngles ROOT::Math::EulerAngles::operator* | ( | const RotationY & | ry | ) | const |
| EulerAngles ROOT::Math::EulerAngles::operator* | ( | const RotationX & | rx | ) | const |
| EulerAngles ROOT::Math::EulerAngles::operator* | ( | const Quaternion & | q | ) | const |
| EulerAngles ROOT::Math::EulerAngles::operator* | ( | const EulerAngles & | e | ) | const |
| EulerAngles ROOT::Math::EulerAngles::operator* | ( | const AxisAngle & | a | ) | const |
| EulerAngles ROOT::Math::EulerAngles::operator* | ( | const Rotation3D & | r | ) | const |
Multiply (combine) two rotations.
Definition at line 73 of file EulerAngles.cxx.
References EulerAngles().
| AVector ROOT::Math::EulerAngles::operator* | ( | const AVector & | v | ) | const [inline] |
Overload operator * for rotation on a vector.
Definition at line 279 of file GenVector/EulerAngles.h.
References operator()().
| EulerAngles& ROOT::Math::EulerAngles::operator*= | ( | const R & | r | ) | [inline] |
Post-Multiply (on right) by another rotation : T = T*R.
Definition at line 317 of file GenVector/EulerAngles.h.
| EulerAngles& ROOT::Math::EulerAngles::operator= | ( | OtherRotation const & | r | ) | [inline] |
Assign from any other rotation (see gv_detail::convert ).
Definition at line 89 of file GenVector/EulerAngles.h.
References ROOT::Math::gv_detail::convert().
| bool ROOT::Math::EulerAngles::operator== | ( | const EulerAngles & | rhs | ) | const [inline] |
Equality/inequality operators.
Definition at line 328 of file GenVector/EulerAngles.h.
Referenced by operator!=().
| Scalar ROOT::Math::EulerAngles::Phi | ( | ) | const [inline] |
Return Phi Euler angle.
Definition at line 204 of file GenVector/EulerAngles.h.
Referenced by ROOT::Math::gv_detail::convert(), and ROOT::Math::operator<<().
| Scalar ROOT::Math::EulerAngles::Psi | ( | ) | const [inline] |
Return Psi Euler angle.
Definition at line 224 of file GenVector/EulerAngles.h.
Referenced by ROOT::Math::gv_detail::convert(), and ROOT::Math::operator<<().
| void ROOT::Math::EulerAngles::Rectify | ( | ) |
Re-adjust components place angles in canonical ranges.
Definition at line 38 of file EulerAngles.cxx.
References floor().
Referenced by EulerAngles(), SetComponents(), SetPhi(), SetPsi(), and SetTheta().
Set the components phi, theta, psi based on three Scalars.
Definition at line 184 of file GenVector/EulerAngles.h.
References Rectify().
| void ROOT::Math::EulerAngles::SetComponents | ( | IT | begin, | |
| IT | end | |||
| ) | [inline] |
Set the three Euler angles given a pair of pointers or iterators defining the beginning and end of an array of three Scalars.
Definition at line 151 of file GenVector/EulerAngles.h.
References Rectify().
Referenced by ROOT::Math::gv_detail::convert(), and EulerAngles().
| void ROOT::Math::EulerAngles::SetPhi | ( | Scalar | phi | ) | [inline] |
Set Phi Euler angle // JMM 30 Jan.
2006
Definition at line 199 of file GenVector/EulerAngles.h.
References Rectify().
| void ROOT::Math::EulerAngles::SetPsi | ( | Scalar | psi | ) | [inline] |
Set Psi Euler angle // JMM 30 Jan.
2006
Definition at line 219 of file GenVector/EulerAngles.h.
References Rectify().
| void ROOT::Math::EulerAngles::SetTheta | ( | Scalar | theta | ) | [inline] |
Set Theta Euler angle // JMM 30 Jan.
2006
Definition at line 209 of file GenVector/EulerAngles.h.
References Rectify().
| Scalar ROOT::Math::EulerAngles::Theta | ( | ) | const [inline] |
Return Theta Euler angle.
Definition at line 214 of file GenVector/EulerAngles.h.
Referenced by ROOT::Math::gv_detail::convert(), and ROOT::Math::operator<<().
1.5.9