# 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() const
```      Angle of rotation

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

```
`{ return fSin; }`
Scalar CosAngle() const
`{ 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; }`
RotationZ Inverse() const
```      Return inverse of  a rotation

```
`{ RotationZ t(*this); t.Invert(); return t; }`
return ! operator==(rhs)