Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::RotationZ Class Reference

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

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

See also
GenVector

Definition at line 46 of file RotationZ.h.

Public Types

typedef double Scalar
 

Public Member Functions

 RotationZ ()
 Default constructor (identity rotation)
 
 RotationZ (Scalar angle)
 Construct from an angle.
 
Scalar Angle () const
 Angle of rotation.
 
Scalar CosAngle () const
 
void GetAngle (Scalar &angle) const
 Get the angle.
 
void GetComponents (Scalar &angle) const
 
RotationZ Inverse () const
 Return inverse of a rotation.
 
void Invert ()
 Invert a rotation in place.
 
bool operator!= (const RotationZ &rhs) const
 
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.
 
template<class ForeignVector >
ForeignVector operator() (const ForeignVector &v) const
 Rotation operation on an arbitrary vector v.
 
template<class CoordSystem >
LorentzVector< CoordSystem > operator() (const LorentzVector< CoordSystem > &v) const
 Rotation operation on a Lorentz vector in any 4D coordinate system.
 
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 AVector >
AVector operator* (const AVector &v) const
 Overload operator * for rotation on a vector.
 
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.
 
void Rectify ()
 Rectify makes sure the angle is in (-pi,pi].
 
void SetAngle (Scalar angle)
 Set given the angle.
 
void SetComponents (Scalar angle)
 
Scalar SinAngle () const
 Sine or Cosine of the rotation angle.
 

Private Attributes

Scalar fAngle
 
Scalar fCos
 
Scalar fSin
 

#include <Math/GenVector/RotationZ.h>

Member Typedef Documentation

◆ Scalar

Constructor & Destructor Documentation

◆ RotationZ() [1/2]

ROOT::Math::RotationZ::RotationZ ( )
inline

Default constructor (identity rotation)

Definition at line 58 of file RotationZ.h.

◆ RotationZ() [2/2]

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

Construct from an angle.

Definition at line 63 of file RotationZ.h.

Member Function Documentation

◆ Angle()

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

Angle of rotation.

Definition at line 106 of file RotationZ.h.

◆ CosAngle()

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

Definition at line 112 of file RotationZ.h.

◆ GetAngle()

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

Get the angle.

Definition at line 100 of file RotationZ.h.

◆ GetComponents()

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

Definition at line 101 of file RotationZ.h.

◆ Inverse()

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

Return inverse of a rotation.

Definition at line 190 of file RotationZ.h.

◆ Invert()

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

Invert a rotation in place.

Definition at line 185 of file RotationZ.h.

◆ operator!=()

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

Definition at line 218 of file RotationZ.h.

◆ operator()() [1/4]

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

Rotation operation on a displacement vector in any coordinate system.

Definition at line 130 of file RotationZ.h.

◆ operator()() [2/4]

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 166 of file RotationZ.h.

◆ operator()() [3/4]

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

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

Definition at line 152 of file RotationZ.h.

◆ operator()() [4/4]

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 141 of file RotationZ.h.

◆ operator*() [1/2]

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

Overload operator * for rotation on a vector.

Definition at line 177 of file RotationZ.h.

◆ operator*() [2/2]

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

Multiply (combine) two rotations.

Definition at line 197 of file RotationZ.h.

◆ operator*=()

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

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

Definition at line 209 of file RotationZ.h.

◆ operator==()

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

Equality/inequality operators.

Definition at line 214 of file RotationZ.h.

◆ Rectify()

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

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

Definition at line 75 of file RotationZ.h.

◆ SetAngle()

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

Set given the angle.

Definition at line 89 of file RotationZ.h.

◆ SetComponents()

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

Definition at line 95 of file RotationZ.h.

◆ SinAngle()

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

Sine or Cosine of the rotation angle.

Definition at line 111 of file RotationZ.h.

Member Data Documentation

◆ fAngle

Scalar ROOT::Math::RotationZ::fAngle
private

Definition at line 224 of file RotationZ.h.

◆ fCos

Scalar ROOT::Math::RotationZ::fCos
private

Definition at line 226 of file RotationZ.h.

◆ fSin

Scalar ROOT::Math::RotationZ::fSin
private

Definition at line 225 of file RotationZ.h.

Libraries for ROOT::Math::RotationZ:

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