70 Scalar aqu = au*
q.U() - ai*
q.I() - aj*
q.J() - ak*
q.K();
71 Scalar aqi = au*
q.I() + ai*
q.U() + aj*
q.K() - ak*
q.J();
72 Scalar aqj = au*
q.J() - ai*
q.K() + aj*
q.U() + ak*
q.I();
73 Scalar aqk = au*
q.K() + ai*
q.J() - aj*
q.I() + ak*
q.U();
76 if (aqu < 0) { aqu = - aqu; aqi = - aqi; aqj = - aqj, aqk = - aqk; }
78 DisplacementVector3D< Cartesian3D<double> > axis ( aqi, aqj, aqk );
80 axis.SetCoordinates(0,0,1);
103 Scalar aqu = au*qu - ai*qi;
104 Scalar aqi = ai*qu + au*qi;
105 Scalar aqj = aj*qu + ak*qi;
106 Scalar aqk = ak*qu - aj*qi;
109 if (aqu < 0) { aqu = - aqu; aqi = - aqi; aqj = - aqj, aqk = - aqk; }
130 if (
c < -1 )
c = -1;
134 Scalar aqu = au*qu - aj*qj;
135 Scalar aqi = ai*qu - ak*qj;
136 Scalar aqj = aj*qu + au*qj;
137 Scalar aqk = ak*qu + ai*qj;
140 if (aqu < 0) { aqu = - aqu; aqi = - aqi; aqj = - aqj, aqk = - aqk; }
161 if (
c < -1 )
c = -1;
165 Scalar aqu = au*qu - ak*qk;
166 Scalar aqi = ai*qu + aj*qk;
167 Scalar aqj = aj*qu - ai*qk;
168 Scalar aqk = ak*qu + au*qk;
171 if (aqu < 0) { aqu = - aqu; aqi = - aqi; aqj = - aqj, aqk = - aqk; }
AxisAngle class describing rotation represented with direction axis (3D Vector) and an angle of rotat...
AVector operator*(const AVector &v) const
Overload operator * for rotation on a vector.
AxisAngle()
Default constructor (axis is z and angle is zero)
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 > & SetCoordinates(const Scalar src[])
Set internal data based on a C-style array of 3 Scalar numbers.
Scalar Z() const
Cartesian Z, converting if necessary from internal coordinate system.
EulerAngles class describing rotation as three angles (Euler Angles).
Rotation class with the (3D) rotation represented by a unit quaternion (u, i, j, k).
Rotation class with the (3D) rotation represented by a 3x3 orthogonal matrix.
Rotation class representing a 3D rotation about the X axis by the angle of rotation.
Scalar SinAngle() const
Sine or Cosine of the rotation angle.
Rotation class representing a 3D rotation about the Y axis by the angle of rotation.
Scalar SinAngle() const
Sine or Cosine of the rotation angle.
Rotation class with the (3D) rotation represented by angles describing first a rotation of an angle p...
Rotation class representing a 3D rotation about the Z axis by the angle of rotation.
Scalar SinAngle() const
Sine or Cosine of the rotation angle.
Namespace for new Math classes and functions.
AxisAngle operator*(RotationX const &r1, AxisAngle const &r2)
Multiplication of an axial rotation by an AxisAngle.
Rotation3D::Scalar Scalar
Namespace for new ROOT classes and functions.