Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType > Class Template Reference

MatrixVectorPair. More...

#include <MatrixVectorPair.h>

Public Member Functions

MatrixVectorPair< MatrixNumericType, VectorType > getInverse () const
 Returns the inverse MatrixVectorPair. More...
 
const Kernel::Matrix< MatrixNumericType > & getMatrix () const
 Returns a const reference to the internally stored matrix. More...
 
const VectorType & getVector () const
 Returns a const reference to the stored vector. More...
 
 MatrixVectorPair ()
 Default constructor, unit matrix and 0-vector. More...
 
 MatrixVectorPair (const Kernel::Matrix< MatrixNumericType > &matrix, const VectorType &vector)
 Constructor from matrix and vector. More...
 
bool operator!= (const MatrixVectorPair< MatrixNumericType, VectorType > &other) const
 Inequality operator. More...
 
MatrixVectorPair< MatrixNumericType, VectorType > operator* (const MatrixVectorPair< MatrixNumericType, VectorType > &other) const
 Operator to combine with another MatrixVectorPair. More...
 
template<typename T >
operator* (const T &operand) const
 Operator to transform a vector or point. More...
 
bool operator== (const MatrixVectorPair< MatrixNumericType, VectorType > &other) const
 Comparison operator, compares the matrix & vector stored internally. More...
 
virtual ~MatrixVectorPair ()=default
 

Private Attributes

Kernel::Matrix< MatrixNumericType > m_matrix
 
VectorType m_vector
 

Detailed Description

template<typename MatrixNumericType, typename VectorType>
class Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >

MatrixVectorPair.

This class represents matrix/vector pairs (W, w) that are for example used to describe symmetry operations. On vector- or point-like objects they perform the following operation:

P' = (W * P) + w

The operation on other matrix/vector pairs is defined like this:

(P, p)' = ((W * P), (W * p) + w)

A very important use is in SymmetryOperation, which encapsulated a MatrixVectorPair<int, V3R> object to represent symmetry operations that are used to define point- and space groups.

@author Michael Wedel, ESS
@date 02/11/2015

Definition at line 34 of file MatrixVectorPair.h.

Constructor & Destructor Documentation

◆ MatrixVectorPair() [1/2]

template<typename MatrixNumericType , typename VectorType >
Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::MatrixVectorPair ( )
inline

Default constructor, unit matrix and 0-vector.

Definition at line 37 of file MatrixVectorPair.h.

◆ MatrixVectorPair() [2/2]

template<typename MatrixNumericType , typename VectorType >
Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::MatrixVectorPair ( const Kernel::Matrix< MatrixNumericType > &  matrix,
const VectorType &  vector 
)
inline

Constructor from matrix and vector.

Definition at line 40 of file MatrixVectorPair.h.

◆ ~MatrixVectorPair()

template<typename MatrixNumericType , typename VectorType >
virtual Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::~MatrixVectorPair ( )
virtualdefault

Member Function Documentation

◆ getInverse()

template<typename MatrixNumericType , typename VectorType >
MatrixVectorPair< MatrixNumericType, VectorType > Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::getInverse ( ) const
inline

◆ getMatrix()

template<typename MatrixNumericType , typename VectorType >
const Kernel::Matrix< MatrixNumericType > & Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::getMatrix ( ) const
inline

◆ getVector()

template<typename MatrixNumericType , typename VectorType >
const VectorType & Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::getVector ( ) const
inline

◆ operator!=()

template<typename MatrixNumericType , typename VectorType >
bool Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::operator!= ( const MatrixVectorPair< MatrixNumericType, VectorType > &  other) const
inline

◆ operator*() [1/2]

template<typename MatrixNumericType , typename VectorType >
MatrixVectorPair< MatrixNumericType, VectorType > Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::operator* ( const MatrixVectorPair< MatrixNumericType, VectorType > &  other) const
inline

◆ operator*() [2/2]

template<typename MatrixNumericType , typename VectorType >
template<typename T >
T Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::operator* ( const T &  operand) const
inline

◆ operator==()

template<typename MatrixNumericType , typename VectorType >
bool Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::operator== ( const MatrixVectorPair< MatrixNumericType, VectorType > &  other) const
inline

Member Data Documentation

◆ m_matrix

template<typename MatrixNumericType , typename VectorType >
Kernel::Matrix<MatrixNumericType> Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::m_matrix
private

◆ m_vector

template<typename MatrixNumericType , typename VectorType >
VectorType Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::m_vector
private

The documentation for this class was generated from the following file: