Rivet API documentation

Rivet 4.1.3

Specialisation of MatrixN to aid 3 dimensional rotations. More...

#include <Matrix3.hh>

Inheritance diagram for Rivet::Matrix3:
Rivet::Matrix< 3 >

Public Member Functions

 Matrix3 (const Matrix< 3 > &m3)
 Matrix3 (const Vector3 &axis, const double angle)
 Matrix3 (const Vector3 &from, const Vector3 &to)
Matrix3 & setAsRotation (const Vector3 &from, const Vector3 &to)
Matrix & set (const size_t i, const size_t j, const double value)
double get (const size_t i, const size_t j) const
Vector< N > getRow (const size_t row) const
Matrix< N > & setRow (const size_t row, const Vector< N > &r)
Vector< N > getColumn (const size_t col) const
Matrix< N > & setColumn (const size_t col, const Vector< N > &c)
Matrix< N > transpose () const
Matrix< N > inverse () const
 Calculate inverse.
double det () const
 Calculate determinant.
double trace () const
 Calculate trace.
Matrix< N > operator- () const
 Negate.
constexpr size_t size () const
 Get dimensionality.
bool isZero (double tolerance=1E-5) const
 Index-wise check for nullness, allowing for numerical precision.
bool isEqual (Matrix< N > other) const
 Check for index-wise equality, allowing for numerical precision.
bool isSymm () const
 Check for symmetry under transposition.
bool isDiag () const
 Check that all off-diagonal elements are zero, allowing for numerical precision.
bool operator== (const Matrix< N > &a) const
bool operator!= (const Matrix< N > &a) const
Matrix< N > & operator*= (const Matrix< N > &m)
Matrix< N > & operator/= (const double a)
Matrix< N > & operator+= (const Matrix< N > &m)
Matrix< N > & operator-= (const Matrix< N > &m)

Static Public Member Functions

static Matrix3 mkXRotation (const double angle)
static Matrix3 mkYRotation (const double angle)
static Matrix3 mkZRotation (const double angle)
static Matrix3 mkRotation (const Vector3 &from, const Vector3 &to)
static Matrix< N > mkZero ()
static Matrix< N > mkDiag (Vector< N > diag)
static Matrix< N > mkIdentity ()

Protected Types

using EMatrix

Detailed Description

Specialisation of MatrixN to aid 3 dimensional rotations.


The documentation for this class was generated from the following file:
  • /builds/hepcedar/rivet/include/Rivet/Math/Matrix3.hh