Mantid
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Mantid::Geometry::AbstractSymmetryElementGenerator Class Referenceabstract

SymmetryElementFactoryImpl does not generate SymmetryElement objects directly. More...

#include <SymmetryElementFactory.h>

Inheritance diagram for Mantid::Geometry::AbstractSymmetryElementGenerator:
Mantid::Geometry::SymmetryElementIdentityGenerator Mantid::Geometry::SymmetryElementInversionGenerator Mantid::Geometry::SymmetryElementTranslationGenerator Mantid::Geometry::SymmetryElementWithAxisGenerator Mantid::Geometry::SymmetryElementMirrorGenerator Mantid::Geometry::SymmetryElementRotationGenerator

Public Member Functions

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
 

Detailed Description

SymmetryElementFactoryImpl does not generate SymmetryElement objects directly.

Instead, in order to stay as flexible as possible, it stores instances of AbstractSymmetryElementGenerator. Each subclass of AbstractSymmetryElementGenerator can be registered once into the factory, which then uses the canProcess-method to determine whether a certain generator can be used to derive the SymmetryElement that corresponds to the SymmetryOperation.

More about how the symmetry elements are derived from matrix/vector pairs can be found in the International Tables for Crystallography A, section 11.2.

Definition at line 36 of file SymmetryElementFactory.h.

Constructor & Destructor Documentation

◆ ~AbstractSymmetryElementGenerator()

virtual Mantid::Geometry::AbstractSymmetryElementGenerator::~AbstractSymmetryElementGenerator ( )
virtualdefault

Member Function Documentation

◆ canProcess()

virtual bool Mantid::Geometry::AbstractSymmetryElementGenerator::canProcess ( const SymmetryOperation operation) const
pure virtual

◆ generateElement()

virtual SymmetryElement_sptr Mantid::Geometry::AbstractSymmetryElementGenerator::generateElement ( const SymmetryOperation operation) const
pure virtual

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