ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Attributes | List of all members
ROOT::Math::RotationY Class Reference

Rotation class representing a 3D rotation about the Y axis by the angle of rotation.

For efficiency reason, in addition to the the angle, the sine and cosine of the angle are held

Definition at line 43 of file RotationY.h.

Public Types

typedef double Scalar
 

Public Member Functions

 RotationY ()
 Default constructor (identity rotation) More...
 
 RotationY (Scalar angle)
 Construct from an angle. More...
 
void Rectify ()
 Rectify makes sure the angle is in (-pi,pi]. More...
 
void SetAngle (Scalar angle)
 Set given the angle. More...
 
void SetComponents (Scalar angle)
 
void GetAngle (Scalar &angle) const
 Get the angle. More...
 
void GetComponents (Scalar &angle) const
 
Scalar Angle () const
 Angle of rotation. More...
 
Scalar SinAngle () const
 Sine or Cosine of the rotation angle. More...
 
Scalar CosAngle () const
 
template<class CoordSystem , class U >
DisplacementVector3D
< CoordSystem, U > 
operator() (const DisplacementVector3D< CoordSystem, U > &v) const
 Rotation operation on a cartesian vector. More...
 
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. More...
 
template<class CoordSystem >
LorentzVector< CoordSystem > operator() (const LorentzVector< CoordSystem > &v) const
 Rotation operation on a Lorentz vector in any 4D coordinate system. More...
 
template<class ForeignVector >
ForeignVector operator() (const ForeignVector &v) const
 Rotation operation on an arbitrary vector v. More...
 
template<class AVector >
AVector operator* (const AVector &v) const
 Overload operator * for rotation on a vector. More...
 
void Invert ()
 Invert a rotation in place. More...
 
RotationY Inverse () const
 Return inverse of a rotation. More...
 
RotationY operator* (const RotationY &r) const
 Multiply (combine) two rotations. More...
 
RotationYoperator*= (const RotationY &r)
 Post-Multiply (on right) by another rotation : T = T*R. More...
 
bool operator== (const RotationY &rhs) const
 Equality/inequality operators. More...
 
bool operator!= (const RotationY &rhs) const
 

Private Attributes

Scalar fAngle
 
Scalar fSin
 
Scalar fCos
 

#include <Math/GenVector/RotationY.h>

Member Typedef Documentation

Definition at line 47 of file RotationY.h.

Constructor & Destructor Documentation

ROOT::Math::RotationY::RotationY ( )
inline

Default constructor (identity rotation)

Definition at line 55 of file RotationY.h.

ROOT::Math::RotationY::RotationY ( Scalar  angle)
inlineexplicit

Construct from an angle.

Definition at line 60 of file RotationY.h.

Member Function Documentation

Scalar ROOT::Math::RotationY::Angle ( ) const
inline

Angle of rotation.

Definition at line 103 of file RotationY.h.

Referenced by ROOT::Math::gv_detail::convert(), and ROOT::Math::operator<<().

Scalar ROOT::Math::RotationY::CosAngle ( ) const
inline
void ROOT::Math::RotationY::GetAngle ( Scalar angle) const
inline

Get the angle.

Definition at line 97 of file RotationY.h.

Referenced by GetComponents().

void ROOT::Math::RotationY::GetComponents ( Scalar angle) const
inline

Definition at line 98 of file RotationY.h.

RotationY ROOT::Math::RotationY::Inverse ( ) const
inline

Return inverse of a rotation.

Definition at line 187 of file RotationY.h.

void ROOT::Math::RotationY::Invert ( )
inline

Invert a rotation in place.

Definition at line 182 of file RotationY.h.

Referenced by Inverse().

bool ROOT::Math::RotationY::operator!= ( const RotationY rhs) const
inline

Definition at line 215 of file RotationY.h.

template<class CoordSystem , class U >
DisplacementVector3D<CoordSystem,U> ROOT::Math::RotationY::operator() ( const DisplacementVector3D< CoordSystem, U > &  v) const
inline

Rotation operation on a cartesian vector.

Rotation operation on a displacement vector in any coordinate system

Definition at line 127 of file RotationY.h.

Referenced by operator()(), and operator*().

template<class CoordSystem , class U >
PositionVector3D<CoordSystem, U> ROOT::Math::RotationY::operator() ( const PositionVector3D< CoordSystem, U > &  v) const
inline

Rotation operation on a position vector in any coordinate system.

Definition at line 138 of file RotationY.h.

template<class CoordSystem >
LorentzVector<CoordSystem> ROOT::Math::RotationY::operator() ( const LorentzVector< CoordSystem > &  v) const
inline

Rotation operation on a Lorentz vector in any 4D coordinate system.

Definition at line 149 of file RotationY.h.

template<class ForeignVector >
ForeignVector ROOT::Math::RotationY::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 163 of file RotationY.h.

template<class AVector >
AVector ROOT::Math::RotationY::operator* ( const AVector &  v) const
inline

Overload operator * for rotation on a vector.

Definition at line 174 of file RotationY.h.

RotationY ROOT::Math::RotationY::operator* ( const RotationY r) const
inline

Multiply (combine) two rotations.

Definition at line 194 of file RotationY.h.

RotationY& ROOT::Math::RotationY::operator*= ( const RotationY r)
inline

Post-Multiply (on right) by another rotation : T = T*R.

Definition at line 206 of file RotationY.h.

bool ROOT::Math::RotationY::operator== ( const RotationY rhs) const
inline

Equality/inequality operators.

Definition at line 211 of file RotationY.h.

Referenced by operator!=().

void ROOT::Math::RotationY::Rectify ( )
inline

Rectify makes sure the angle is in (-pi,pi].

Definition at line 72 of file RotationY.h.

Referenced by RotationY(), and SetAngle().

void ROOT::Math::RotationY::SetAngle ( Scalar  angle)
inline

Set given the angle.

Definition at line 86 of file RotationY.h.

Referenced by SetComponents().

void ROOT::Math::RotationY::SetComponents ( Scalar  angle)
inline

Definition at line 92 of file RotationY.h.

Scalar ROOT::Math::RotationY::SinAngle ( ) const
inline

Member Data Documentation

Scalar ROOT::Math::RotationY::fAngle
private

Definition at line 221 of file RotationY.h.

Referenced by Invert(), operator*(), operator==(), Rectify(), and SetAngle().

Scalar ROOT::Math::RotationY::fCos
private

Definition at line 223 of file RotationY.h.

Referenced by Angle(), CosAngle(), GetAngle(), operator()(), operator*(), Rectify(), and SetAngle().

Scalar ROOT::Math::RotationY::fSin
private

Definition at line 222 of file RotationY.h.

Referenced by Angle(), GetAngle(), Invert(), operator()(), operator*(), Rectify(), SetAngle(), and SinAngle().


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