54 from.GetComponents(
m,
m+9);
63 if ( std::fabs(
uX ) < 8.*std::numeric_limits<double>::epsilon() &&
64 std::fabs(
uY ) < 8.*std::numeric_limits<double>::epsilon() &&
65 std::fabs(
uZ ) < 8.*std::numeric_limits<double>::epsilon() ) {
76 static const double pi =
M_PI;
96 static const double pi =
M_PI;
116 from.GetComponents(
r,
r+9);
118 double phi, theta,
psi;
120 static const double pi =
M_PI;
123 theta = (std::fabs(
r[
kZZ]) <= 1.0) ? std::acos(
r[
kZZ]) :
124 (
r[
kZZ] > 0.0) ? 0 : pi;
164 double maxw = std::fabs(
w[0]);
166 for (
int i = 1; i < 4; ++i) {
167 if (std::fabs(
w[i]) >
maxw) {
168 maxw = std::fabs(
w[i]);
193 to.SetComponents( phi, theta,
psi );
203 from.GetComponents(
m,
m+9);
214 const double q0 = .5*std::sqrt(1+
d0);
215 const double f = .25/q0;
222 }
else if (
d1 >=
d2 &&
d1 >=
d3 ) {
223 const double q1 = .5*std::sqrt(1+
d1);
224 const double f = .25/
q1;
231 }
else if (
d2 >=
d3 ) {
232 const double q2 = .5*std::sqrt(1+
d2);
233 const double f = .25/
q2;
241 const double q3 = .5*std::sqrt(1+
d3);
242 const double f = .25/
q3;
266 from.GetComponents(
r,
r+9);
268 double phi,theta,
psi = 0;
316 double maxw = std::fabs(
w[0]);
318 for (
int i = 1; i < 4; ++i) {
319 if (std::fabs(
w[i]) >
maxw) {
320 maxw = std::fabs(
w[i]);
346 to.SetComponents(phi, theta,
psi);
362 const double uX =
u.X();
363 const double uY =
u.Y();
364 const double uZ =
u.Z();
380 to.SetComponents(
m,
m+9);
397 double s = std::sin (
from.Angle()/2);
400 to.SetComponents( std::cos(
from.Angle()/2),
482 const double q0 =
from.U();
483 const double q1 =
from.I();
484 const double q2 =
from.J();
485 const double q3 =
from.K();
486 const double q00 = q0*q0;
487 const double q01 = q0*
q1;
488 const double q02 = q0*
q2;
489 const double q03 = q0*
q3;
511 const double angle = 2.0 * std::acos (
from.U() );
514 to.SetComponents ( axis,
angle );
516 if (
u < -1 )
u = -1;
517 const double angle = 2.0 * std::acos ( -
from.U() );
520 to.SetComponents ( axis,
angle );
549 double phi,theta,
psi = 0;
550 from.GetComponents(phi,theta,
psi);
551 to.SetComponents( std::cos(theta)*std::cos(phi),
552 - std::cos(theta)*std::sin(phi),
555 std::cos(
psi)*std::sin(phi) + std::sin(
psi)*std::sin(theta)*std::cos(phi),
556 std::cos(
psi)*std::cos(phi) - std::sin(
psi)*std::sin(theta)*std::sin(phi),
557 -std::sin(
psi)*std::cos(theta),
559 std::sin(
psi)*std::sin(phi) - std::cos(
psi)*std::sin(theta)*std::cos(phi),
560 std::sin(
psi)*std::cos(phi) + std::cos(
psi)*std::sin(theta)*std::sin(phi),
561 std::cos(
psi)*std::cos(theta)
580 double phi,theta,
psi = 0;
581 from.GetComponents(phi,theta,
psi);
583 double sphi2 = std::sin(phi/2);
584 double cphi2 = std::cos(phi/2);
585 double stheta2 = std::sin(theta/2);
586 double ctheta2 = std::cos(theta/2);
604 const double c =
from.CosAngle();
605 const double s =
from.SinAngle();
606 to.SetComponents ( 1, 0, 0,
616 to.SetComponents ( axis,
from.Angle() );
633 to.SetComponents (std::cos(
from.Angle()/2), std::sin(
from.Angle()/2), 0, 0);
639 to.SetComponents(0,0,
from.Angle());
650 const double c =
from.CosAngle();
651 const double s =
from.SinAngle();
652 to.SetComponents (
c, 0, s,
662 to.SetComponents ( axis,
from.Angle() );
678 to.SetComponents(0,
from.Angle(),0);
686 to.SetComponents (std::cos(
from.Angle()/2), 0, std::sin(
from.Angle()/2), 0);
698 const double c =
from.CosAngle();
699 const double s =
from.SinAngle();
700 to.SetComponents (
c, -s, 0,
710 to.SetComponents ( axis,
from.Angle() );
726 to.SetComponents(
from.Angle(),0,0);
733 to.SetComponents (std::cos(
from.Angle()/2), 0, 0, std::sin(
from.Angle()/2));
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
AxisAngle class describing rotation represented with direction axis (3D Vector) and an angle of rotat...
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.
Rotation class representing a 3D rotation about the Y axis by the angle of rotation.
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.
Namespace for new Math classes and functions.
static void correctByPi(double &psi, double &phi)
void convert(R1 const &, R2 const)
Rotation3D::Scalar Scalar
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...