ROOT::Math::RotationZ Class Reference
[GenVector]

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

#include <RotationZ.h>

List of all members.

Public Types

typedef double Scalar

Public Member Functions

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


Detailed Description

Rotation class representing a 3D rotation about the Z 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 GenVector/RotationZ.h.


Member Typedef Documentation

Definition at line 47 of file GenVector/RotationZ.h.


Constructor & Destructor Documentation

ROOT::Math::RotationZ::RotationZ (  )  [inline]

Default constructor (identity rotation).

Definition at line 55 of file GenVector/RotationZ.h.

ROOT::Math::RotationZ::RotationZ ( Scalar  angle  )  [inline, explicit]

Construct from an angle.

Definition at line 60 of file GenVector/RotationZ.h.

References Rectify().


Member Function Documentation

Scalar ROOT::Math::RotationZ::Angle (  )  const [inline]

Scalar ROOT::Math::RotationZ::CosAngle (  )  const [inline]

void ROOT::Math::RotationZ::GetAngle ( Scalar angle  )  const [inline]

Get the angle.

Definition at line 97 of file GenVector/RotationZ.h.

References atan2().

Referenced by GetComponents().

void ROOT::Math::RotationZ::GetComponents ( Scalar angle  )  const [inline]

Definition at line 98 of file GenVector/RotationZ.h.

References GetAngle().

RotationZ ROOT::Math::RotationZ::Inverse (  )  const [inline]

Return inverse of a rotation.

Definition at line 187 of file GenVector/RotationZ.h.

References Invert().

void ROOT::Math::RotationZ::Invert (  )  [inline]

Invert a rotation in place.

Definition at line 182 of file GenVector/RotationZ.h.

Referenced by Inverse().

bool ROOT::Math::RotationZ::operator!= ( const RotationZ rhs  )  const [inline]

Definition at line 215 of file GenVector/RotationZ.h.

References operator==().

template<class ForeignVector >
ForeignVector ROOT::Math::RotationZ::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 GenVector/RotationZ.h.

References operator()(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::X(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::Y(), and ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::Z().

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

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

Rotation operation on a position vector in any coordinate system.

Definition at line 138 of file GenVector/RotationZ.h.

References operator()().

template<class CoordSystem , class U >
DisplacementVector3D<CoordSystem,U> ROOT::Math::RotationZ::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 GenVector/RotationZ.h.

References ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::SetXYZ(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::x(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::y(), and ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::z().

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

RotationZ ROOT::Math::RotationZ::operator* ( const RotationZ r  )  const [inline]

Multiply (combine) two rotations.

Definition at line 194 of file GenVector/RotationZ.h.

References floor(), and M_PI.

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

Overload operator * for rotation on a vector.

Definition at line 174 of file GenVector/RotationZ.h.

References operator()().

RotationZ& ROOT::Math::RotationZ::operator*= ( const RotationZ r  )  [inline]

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

Definition at line 206 of file GenVector/RotationZ.h.

bool ROOT::Math::RotationZ::operator== ( const RotationZ rhs  )  const [inline]

Equality/inequality operators.

Definition at line 211 of file GenVector/RotationZ.h.

Referenced by operator!=().

void ROOT::Math::RotationZ::Rectify (  )  [inline]

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

Definition at line 72 of file GenVector/RotationZ.h.

References cos(), ROOT::Math::fabs(), floor(), M_PI, and sin().

Referenced by RotationZ(), and SetAngle().

void ROOT::Math::RotationZ::SetAngle ( Scalar  angle  )  [inline]

Set given the angle.

Definition at line 86 of file GenVector/RotationZ.h.

References cos(), Rectify(), and sin().

Referenced by SetComponents().

void ROOT::Math::RotationZ::SetComponents ( Scalar  angle  )  [inline]

Definition at line 92 of file GenVector/RotationZ.h.

References SetAngle().

Scalar ROOT::Math::RotationZ::SinAngle (  )  const [inline]


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

Generated on Thu Dec 16 21:09:55 2010 for ROOT Mathematical Libraries by  doxygen 1.5.9