rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0

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)
 
Matrix3setAsRotation (const Vector3 &from, const Vector3 &to)
 
Matrixset (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 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 = RivetEigen::Matrix< double, N, N >
 

Detailed Description

Specialisation of MatrixN to aid 3 dimensional rotations.


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