1#ifndef RIVET_MATH_MATRIX3
2#define RIVET_MATH_MATRIX3
4#include "Rivet/Math/MathConstants.hh"
5#include "Rivet/Math/MathUtils.hh"
6#include "Rivet/Math/MatrixN.hh"
7#include "Rivet/Math/Vector3.hh"
21 _matrix = RivetEigen::AngleAxis<double>(
angle, normaxis._vec);
25 setAsRotation(from, to);
41 const double theta =
angle(from, to);
43 _matrix = EMatrix::Identity();
46 _matrix = RivetEigen::AngleAxis<double>(theta, normaxis._vec);
53 rtn.setAsRotation(from, to);
Specialisation of MatrixN to aid 3 dimensional rotations.
Definition Matrix3.hh:13
General -dimensional mathematical matrix object.
Definition MatrixN.hh:30
Three-dimensional specialisation of Vector.
Definition Vector3.hh:40
Vector3 unit() const
Synonym for unitVec.
Definition Vector3.hh:124
Definition MC_Cent_pPb.hh:10
Vector3 cross(const Vector3 &a, const Vector3 &b)
Unbound cross-product function.
Definition Vector3.hh:272
std::enable_if< std::is_floating_point< NUM >::value, bool >::type isZero(NUM val, double tolerance=1e-8)
Compare a number to zero.
Definition MathUtils.hh:24
double angle(const Vector2 &a, const Vector2 &b)
Angle (in radians) between two 2-vectors.
Definition Vector2.hh:177