Mantid
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
Mantid::Geometry::SymmetryElementMirrorGenerator Class Reference

SymmetryElementMirrorGenerator also inherits from SymmetryElementWithAxisGenerator. More...

#include <SymmetryElementFactory.h>

Inheritance diagram for Mantid::Geometry::SymmetryElementMirrorGenerator:
Mantid::Geometry::SymmetryElementWithAxisGenerator Mantid::Geometry::AbstractSymmetryElementGenerator

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
 

Detailed Description

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.

Member Function Documentation

◆ canProcess()

bool Mantid::Geometry::SymmetryElementMirrorGenerator::canProcess ( const SymmetryOperation operation) const
overridevirtual

◆ determineSymbol()

std::string Mantid::Geometry::SymmetryElementMirrorGenerator::determineSymbol ( const SymmetryOperation operation) const
overrideprotectedvirtual

◆ generateElement()

SymmetryElement_sptr Mantid::Geometry::SymmetryElementMirrorGenerator::generateElement ( const SymmetryOperation operation) const
overridevirtual

Member Data Documentation

◆ g_glideSymbolMap

std::map< V3R, std::string > Mantid::Geometry::SymmetryElementMirrorGenerator::g_glideSymbolMap
staticprotected
Initial value:
= {
{V3R(0, 0, 0), "m"}, {V3R(1, 0, 0) / 2, "a"}, {V3R(0, 1, 0) / 2, "b"}, {V3R(0, 0, 1) / 2, "c"},
{V3R(1, 1, 0) / 2, "n"}, {V3R(1, 0, 1) / 2, "n"}, {V3R(0, 1, 1) / 2, "n"}, {V3R(1, 1, 1) / 2, "n"},
{V3R(1, 1, 0) / 4, "d"}, {V3R(1, 0, 1) / 4, "d"}, {V3R(0, 1, 1) / 4, "d"}, {V3R(1, 1, 1) / 4, "d"}}

Definition at line 145 of file SymmetryElementFactory.h.

Referenced by determineSymbol().


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