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

SymmetryElementRotationGenerator inherits from SymmetryElementWithAxisGenerator, using its methods for determination of rotation axis and translations in case of screw axes. More...

#include <SymmetryElementFactory.h>

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

Public Member Functions

bool canProcess (const SymmetryOperation &operation) const override
 Checks the trace and determinat of the matrix to determine if the matrix belongs to a rotation. More...
 
SymmetryElement_sptr generateElement (const SymmetryOperation &operation) const override
 Generates an instance of SymmetryElementRotation with the corresponding symbol, axis, translation vector and rotation sense. 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

SymmetryElementRotation::RotationSense determineRotationSense (const SymmetryOperation &operation, const V3R &rotationAxis) const
 Determines the rotation sense according to the description in ITA 11.2. More...
 
std::string determineSymbol (const SymmetryOperation &operation) const override
 Determines the Hermann-Mauguin symbol of the rotation-, rotoinversion- or screw-axis. 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...
 

Detailed Description

SymmetryElementRotationGenerator inherits from SymmetryElementWithAxisGenerator, using its methods for determination of rotation axis and translations in case of screw axes.

Furthermore it determines the rotation sense and of course the Hermann-Mauguin symbol.

Definition at line 116 of file SymmetryElementFactory.h.

Member Function Documentation

◆ canProcess()

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

Checks the trace and determinat of the matrix to determine if the matrix belongs to a rotation.

Implements Mantid::Geometry::AbstractSymmetryElementGenerator.

Definition at line 188 of file SymmetryElementFactory.cpp.

References Mantid::Kernel::Matrix< T >::determinant(), Mantid::Geometry::SymmetryOperation::matrix(), and Mantid::Kernel::Matrix< T >::Trace().

◆ determineRotationSense()

SymmetryElementRotation::RotationSense Mantid::Geometry::SymmetryElementRotationGenerator::determineRotationSense ( const SymmetryOperation operation,
const V3R rotationAxis 
) const
protected

◆ determineSymbol()

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

◆ generateElement()

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

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