17 #ifndef ROOT_Math_GenVector_RotationX 18 #define ROOT_Math_GenVector_RotationX 1 125 template <
class CoordSystem,
class U>
136 template <
class CoordSystem,
class U>
147 template <
class CoordSystem>
161 template <
class ForeignVector>
166 return ForeignVector ( rxyz.
X(), rxyz.
Y(), rxyz.
Z() );
172 template <
class AVector>
244 os <<
" RotationX(" << r.
Angle() <<
") ";
252 #endif // ROOT_Math_GenVector_RotationX Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system ...
double dist(Rotation3D const &r1, Rotation3D const &r2)
RotationX & operator*=(const RotationX &r)
Post-Multiply (on right) by another rotation : T = T*R.
RotationX Inverse() const
Return inverse of a rotation.
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...
Namespace for new ROOT classes and functions.
RotationX(Scalar angle)
Construct from an angle.
Class describing a generic position vector (point) in 3 dimensions.
void SetAngle(Scalar angle)
Set given the angle.
bool operator==(const RotationX &rhs) const
Equality/inequality operators.
#define R(a, b, c, d, e, f, g, h, i)
std::ostream & operator<<(std::ostream &os, const AxisAngle &a)
Stream Output and Input.
Scalar X() const
Cartesian X, converting if necessary from internal coordinate system.
Scalar Z() const
Cartesian Z, converting if necessary from internal coordinate system.
Scalar Y() const
Cartesian Y, converting if necessary from internal coordinate system.
Scalar E() const
return 4-th component (time, or energy for a 4-momentum vector)
void GetAngle(Scalar &angle) const
Get the angle.
AVector operator*(const AVector &v) const
Overload operator * for rotation on a vector.
void Invert()
Invert a rotation in place.
Class describing a generic displacement vector in 3 dimensions.
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
Scalar Angle() const
Angle of rotation.
void Rectify()
Rectify makes sure the angle is in (-pi,pi].
Rotation class representing a 3D rotation about the X axis by the angle of rotation.
double atan2(double, double)
void GetComponents(Scalar &angle) const
Namespace for new Math classes and functions.
bool operator!=(const RotationX &rhs) const
RotationX()
Default constructor (identity rotation)
AxisAngle::Scalar Distance(const AxisAngle &r1, const R &r2)
Distance between two rotations.
void SetComponents(Scalar angle)
Scalar SinAngle() const
Sine or Cosine of the rotation angle.
::ROOT::Math::DisplacementVector3D< Cartesian3D< Scalar > > Vect() const
get the spatial components of the Vector in a DisplacementVector based on Cartesian Coordinates ...
DisplacementVector3D< CoordSystem, U > operator()(const DisplacementVector3D< CoordSystem, U > &v) const
Rotation operation on a cartesian vector.