17#ifndef ROOT_Math_GenVector_RotationY
18#define ROOT_Math_GenVector_RotationY 1
64 fSin(std::sin(angle)),
128 template <
class CoordSystem,
class U>
139 template <
class CoordSystem,
class U>
150 template <
class CoordSystem>
164 template <
class ForeignVector>
169 return ForeignVector ( rxyz.
X(), rxyz.
Y(), rxyz.
Z() );
175 template <
class AVector>
247 os <<
" RotationY(" <<
r.Angle() <<
") ";
Class describing a generic displacement vector in 3 dimensions.
Scalar X() const
Cartesian X, converting if necessary from internal coordinate system.
Scalar Y() const
Cartesian Y, converting if necessary from internal coordinate system.
DisplacementVector3D< CoordSystem, Tag > & SetXYZ(Scalar a, Scalar b, Scalar c)
set the values of the vector from the cartesian components (x,y,z) (if the vector is held in polar or...
Scalar Z() const
Cartesian Z, converting if necessary from internal coordinate system.
Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system ...
Class describing a generic position vector (point) in 3 dimensions.
Rotation class representing a 3D rotation about the Y axis by the angle of rotation.
void SetComponents(Scalar angle)
void GetComponents(Scalar &angle) const
RotationY & operator*=(const RotationY &r)
Post-Multiply (on right) by another rotation : T = T*R.
void SetAngle(Scalar angle)
Set given the angle.
void GetAngle(Scalar &angle) const
Get the angle.
Scalar Angle() const
Angle of rotation.
void Invert()
Invert a rotation in place.
RotationY()
Default constructor (identity rotation).
AVector operator*(const AVector &v) const
Overload operator * for rotation on a vector.
DisplacementVector3D< CoordSystem, U > operator()(const DisplacementVector3D< CoordSystem, U > &v) const
Rotation operation on a cartesian vector.
RotationY(Scalar angle)
Construct from an angle.
RotationY Inverse() const
Return inverse of a rotation.
Scalar SinAngle() const
Sine or Cosine of the rotation angle.
void Rectify()
Rectify makes sure the angle is in (-pi,pi].
bool operator==(const RotationY &rhs) const
Equality/inequality operators.
bool operator!=(const RotationY &rhs) const
double dist(Rotation3D const &r1, Rotation3D const &r2)
std::ostream & operator<<(std::ostream &os, const AxisAngle &a)
Stream Output and Input.
AxisAngle::Scalar Distance(const AxisAngle &r1, const R &r2)
Distance between two rotations.
namespace associated R package for ROOT.
constexpr Double_t TwoPi()