# class ROOT::Math::RotationZ

```
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

@ingroup GenVector

```

## Function Members (Methods)

public:
 ~RotationZ() ROOT::Math::RotationZ::Scalar Angle() const ROOT::Math::RotationZ::Scalar CosAngle() const void GetAngle(ROOT::Math::RotationZ::Scalar& angle) const void GetComponents(ROOT::Math::RotationZ::Scalar& angle) const ROOT::Math::RotationZ Inverse() const void Invert() bool operator!=(const ROOT::Math::RotationZ& rhs) const ROOT::Math::RotationZ operator*(const ROOT::Math::RotationZ& r) const ROOT::Math::PositionVector3D,ROOT::Math::DefaultCoordinateSystemTag> operator*(const ROOT::Math::PositionVector3D,ROOT::Math::DefaultCoordinateSystemTag>& v) const ROOT::Math::DisplacementVector3D,ROOT::Math::DefaultCoordinateSystemTag> operator*(const ROOT::Math::DisplacementVector3D,ROOT::Math::DefaultCoordinateSystemTag>& v) const ROOT::Math::LorentzVector > operator*(const ROOT::Math::LorentzVector >& v) const ROOT::Math::RotationZ& operator*=(const ROOT::Math::RotationZ& r) ROOT::Math::RotationZ& operator=(const ROOT::Math::RotationZ&) bool operator==(const ROOT::Math::RotationZ& rhs) const void Rectify() ROOT::Math::RotationZ RotationZ() ROOT::Math::RotationZ RotationZ(ROOT::Math::RotationZ::Scalar angle) ROOT::Math::RotationZ RotationZ(const ROOT::Math::RotationZ&) void SetAngle(ROOT::Math::RotationZ::Scalar angle) void SetComponents(ROOT::Math::RotationZ::Scalar angle) ROOT::Math::RotationZ::Scalar SinAngle() const

## Data Members

private:
 ROOT::Math::RotationZ::Scalar fAngle rotation angle ROOT::Math::RotationZ::Scalar fCos cosine of the rotaiton angle ROOT::Math::RotationZ::Scalar fSin sine of the rotation angle

## Function documentation

``` ========== Constructors and Assignment =====================

Default constructor (identity rotation)

```
`{ }`
explicit RotationZ( Scalar angle )
```Construct from an angle

```
Rectify()
void SetAngle(ROOT::Math::RotationZ::Scalar angle)
``` ======== Components ==============

Set given the angle.

```
void SetComponents(ROOT::Math::RotationZ::Scalar angle)
`{ SetAngle(angle); }`
void GetAngle(ROOT::Math::RotationZ::Scalar& angle) const
```Get the angle

```
`{ angle = atan2 (fSin,fCos); }`
void GetComponents(ROOT::Math::RotationZ::Scalar& angle) const
`{ GetAngle(angle); }`
Scalar Angle()
```Angle of rotation

```
`{ return atan2 (fSin,fCos); }`
Scalar SinAngle()
```Sine or Cosine of the rotation angle

```
`{ return fSin; }`
Scalar CosAngle()
`{ return fCos; }`
AVector operator*(const AVector & v)
```Overload operator * for rotation on a vector

```
void Invert()
```Invert a rotation in place

```
`{ fAngle = -fAngle; fSin = -fSin; }`

```Return inverse of  a rotation

```
`{ RotationZ t(*this); t.Invert(); return t; }`
return ! operator==(const ROOT::Math::RotationZ& rhs) const
os << " RotationZ(" << r.Angle() << ")

Last update: root/mathcore:\$Id: RotationZ.h 21503 2007-12-19 17:34:54Z moneta \$
Copyright (c) 2005 , LCG ROOT FNAL MathLib Team *

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.