Mantid
|
SymmetryElementMirrorGenerator also inherits from SymmetryElementWithAxisGenerator. More...
#include <SymmetryElementFactory.h>
Public Member Functions | |
bool | canProcess (const SymmetryOperation &operation) const override |
Checks that the trace of the matrix is 1 and the determinant is -1. More... | |
SymmetryElement_sptr | generateElement (const SymmetryOperation &operation) const override |
Generates an instance of SymmetryElementMirror with the corresponding symbol, axis and translation vector. More... | |
Public Member Functions inherited from Mantid::Geometry::AbstractSymmetryElementGenerator | |
virtual bool | canProcess (const SymmetryOperation &operation) const =0 |
Should return true if the generator can produce a valid SymmetryElement from the provided SymmetryOperation. More... | |
virtual SymmetryElement_sptr | generateElement (const SymmetryOperation &operation) const =0 |
Must generate a valid SymmetryElement from the given operation. More... | |
virtual | ~AbstractSymmetryElementGenerator ()=default |
Protected Member Functions | |
std::string | determineSymbol (const SymmetryOperation &operation) const override |
Determines the symbol from the translation vector using a map. More... | |
Protected Member Functions inherited from Mantid::Geometry::SymmetryElementWithAxisGenerator | |
V3R | determineAxis (const Kernel::IntMatrix &matrix) const |
Returns the symmetry axis for the given matrix. More... | |
virtual std::string | determineSymbol (const SymmetryOperation &operation) const =0 |
V3R | determineTranslation (const SymmetryOperation &operation) const |
Returns the reduced vector of the operation. More... | |
Static Protected Attributes | |
static std::map< V3R, std::string > | g_glideSymbolMap |
SymmetryElementMirrorGenerator also inherits from SymmetryElementWithAxisGenerator.
In addition to that, it determines the Herrman-Mauguin symbol of the symmetry element. According to the International Tables for Crystallography there are some unconventional glide planes which do not have a dedicated symbol. Instead, these are labeled with the letter "g".
Definition at line 137 of file SymmetryElementFactory.h.
|
overridevirtual |
Checks that the trace of the matrix is 1 and the determinant is -1.
Implements Mantid::Geometry::AbstractSymmetryElementGenerator.
Definition at line 267 of file SymmetryElementFactory.cpp.
References Mantid::Kernel::Matrix< T >::determinant(), Mantid::Geometry::SymmetryOperation::matrix(), and Mantid::Kernel::Matrix< T >::Trace().
|
overrideprotectedvirtual |
Determines the symbol from the translation vector using a map.
Implements Mantid::Geometry::SymmetryElementWithAxisGenerator.
Definition at line 274 of file SymmetryElementFactory.cpp.
References Mantid::Geometry::SymmetryElementWithAxisGenerator::determineTranslation(), g_glideSymbolMap, and Mantid::Geometry::V3R::getPositiveVector().
Referenced by generateElement().
|
overridevirtual |
Generates an instance of SymmetryElementMirror with the corresponding symbol, axis and translation vector.
Implements Mantid::Geometry::AbstractSymmetryElementGenerator.
Definition at line 256 of file SymmetryElementFactory.cpp.
References Mantid::Geometry::SymmetryElementWithAxisGenerator::determineAxis(), determineSymbol(), Mantid::Geometry::SymmetryElementWithAxisGenerator::determineTranslation(), and Mantid::Geometry::SymmetryOperation::matrix().
|
staticprotected |
Definition at line 145 of file SymmetryElementFactory.h.
Referenced by determineSymbol().