Mantid
|
#include <GroupTransformation.h>
Public Member Functions | |
GroupTransformation | getInverse () const |
Returns the inverse transformation. More... | |
GroupTransformation (const MatrixVectorPair< double, V3R > &operation) | |
Constructor using MatrixVectorPair. More... | |
GroupTransformation (const std::string &operationString) | |
Constructor that parses a string to construct a MatrixVectorPair. More... | |
Group | operator() (const Group &other) const |
Transforms the supplied group and returns the result. More... | |
virtual | ~GroupTransformation ()=default |
Private Member Functions | |
void | setInverseFromPair () |
SymmetryOperation | transformOperation (const SymmetryOperation &operation) const |
Transforms the operation using the internally stored SymmetryOperation. More... | |
Private Attributes | |
MatrixVectorPair< double, V3R > | m_inversePair |
MatrixVectorPair< double, V3R > | m_matrixVectorPair |
This class transforms Group-objects, using a SymmetryOperation. It can be used to transform a point- or space group into a different setting.
The following example shows how to transform the Group P 1 2/m 1 to P 1 1 2/m, with unique c-axis:
SpaceGroup_const_sptr sg = SpaceGroupFactory::Instance().createSpaceGroup("P 1 2/m 1");
Group transformed = GroupTransformation("y,z,x")(*sg);
Using the getInverse-method, the transformation can be reversed.
@author Michael Wedel, ESS @date 01/11/2015
Definition at line 34 of file GroupTransformation.h.
Mantid::Geometry::GroupTransformation::GroupTransformation | ( | const MatrixVectorPair< double, V3R > & | operation | ) |
Constructor using MatrixVectorPair.
Definition at line 18 of file GroupTransformation.cpp.
References setInverseFromPair().
Mantid::Geometry::GroupTransformation::GroupTransformation | ( | const std::string & | operationString | ) |
Constructor that parses a string to construct a MatrixVectorPair.
Definition at line 24 of file GroupTransformation.cpp.
|
virtualdefault |
GroupTransformation Mantid::Geometry::GroupTransformation::getInverse | ( | ) | const |
Returns the inverse transformation.
Definition at line 43 of file GroupTransformation.cpp.
References m_matrixVectorPair.
Transforms the supplied group and returns the result.
Definition at line 28 of file GroupTransformation.cpp.
References transformOperation().
|
private |
Definition at line 68 of file GroupTransformation.cpp.
References m_inversePair, and m_matrixVectorPair.
Referenced by GroupTransformation().
|
private |
Transforms the operation using the internally stored SymmetryOperation.
This method returns the transformed symmetry operation, using the following relation:
S' = O^-1 * S * O
Where O is the internally stored operation.
operation | :: SymmetryOperation to transform. |
Definition at line 60 of file GroupTransformation.cpp.
References Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::getMatrix(), Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::getVector(), Mantid::Geometry::getWrappedVector(), m_inversePair, m_matrixVectorPair, Mantid::Geometry::SymmetryOperation::matrix(), and Mantid::Geometry::SymmetryOperation::vector().
Referenced by operator()().
|
private |
Definition at line 51 of file GroupTransformation.h.
Referenced by setInverseFromPair(), and transformOperation().
|
private |
Definition at line 50 of file GroupTransformation.h.
Referenced by getInverse(), setInverseFromPair(), and transformOperation().