17#ifndef ROOT_MathX_GenVectorX_RotationX
18#define ROOT_MathX_GenVectorX_RotationX 1
121 template <
class CoordSystem,
class U>
132 template <
class CoordSystem,
class U>
143 template <
class CoordSystem>
157 template <
class ForeignVector>
168 template <
class AVector>
242#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
251 os <<
" RotationX(" <<
r.Angle() <<
") ";
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint angle
Rotation class representing a 3D rotation about the X axis by the angle of rotation.
bool operator==(const RotationX &rhs) const
Equality/inequality operators.
void Rectify()
Rectify makes sure the angle is in (-pi,pi].
void SetAngle(Scalar angle)
Set given the angle.
RotationX(Scalar angle)
Construct from an angle.
Scalar SinAngle() const
Sine or Cosine of the rotation angle.
RotationX & operator*=(const RotationX &r)
Post-Multiply (on right) by another rotation : T = T*R.
LorentzVector< CoordSystem > operator()(const LorentzVector< CoordSystem > &v) const
Rotation operation on a Lorentz vector in any 4D coordinate system.
void GetComponents(Scalar &angle) const
void GetAngle(Scalar &angle) const
Get the angle.
RotationX operator*(const RotationX &r) const
Multiply (combine) two rotations.
ForeignVector operator()(const ForeignVector &v) const
Rotation operation on an arbitrary vector v.
bool operator!=(const RotationX &rhs) const
DisplacementVector3D< CoordSystem, U > operator()(const DisplacementVector3D< CoordSystem, U > &v) const
Rotation operation on a cartesian vector.
PositionVector3D< CoordSystem, U > operator()(const PositionVector3D< CoordSystem, U > &v) const
Rotation operation on a position vector in any coordinate system.
void Invert()
Invert a rotation in place.
void SetComponents(Scalar angle)
AVector operator*(const AVector &v) const
Overload operator * for rotation on a vector.
RotationX()
Default constructor (identity rotation)
Scalar Angle() const
Angle of rotation.
RotationX Inverse() const
Return inverse of a rotation.
double dist(Rotation3D const &r1, Rotation3D const &r2)
Scalar math_floor(Scalar x)
Scalar math_cos(Scalar x)
AxisAngle::Scalar Distance(const AxisAngle &r1, const R &r2)
Distance between two rotations.
std::ostream & operator<<(std::ostream &os, const AxisAngle &a)
Stream Output and Input.
Scalar math_atan2(Scalar x, Scalar y)
Scalar math_fabs(Scalar x)
Scalar math_sin(Scalar x)