Mantid
|
Concrete generator that generates a space group from another space group using a transformation. More...
#include <SpaceGroupFactory.h>
Public Member Functions | |
TransformationSpaceGroupGenerator (size_t number, const std::string &hmSymbol, const std::string &generatorInformation) | |
Constructor of TransformationSpaceGroupGenerator that may throw an std::invalid_argument exception when the generatorInformation- argument can not be interpreted as (base group symbol | transformation). More... | |
Public Member Functions inherited from Mantid::Geometry::AbstractSpaceGroupGenerator | |
AbstractSpaceGroupGenerator (size_t number, std::string hmSymbol, std::string generatorInformation) | |
Constructor for AbstractSpaceGroupGenerator. More... | |
std::string | getGeneratorString () const |
std::string | getHMSymbol () const |
size_t | getNumber () const |
SpaceGroup_const_sptr | getPrototype () |
Returns the internally stored prototype, generates one if necessary. More... | |
virtual | ~AbstractSpaceGroupGenerator ()=default |
Protected Member Functions | |
Group_const_sptr | generateGroup () const override |
Generates a group from the SymmetryOperations obtained by applying the stored transformation to the base group. More... | |
virtual SpaceGroup_const_sptr | getBaseSpaceGroup () const |
This method is virtual for testing purposes so that using the actual SpaceGroupFactory can be circumvented in the unit tests. More... | |
void | setBaseAndTransformation (const std::string &generatorInformation) |
Method to extract base space group symbol and transformation. More... | |
virtual Group_const_sptr | generateGroup () const =0 |
Protected Attributes | |
std::string | m_baseGroupHMSymbol |
std::string | m_transformation |
Concrete generator that generates a space group from another space group using a transformation.
Definition at line 79 of file SpaceGroupFactory.h.
Mantid::Geometry::TransformationSpaceGroupGenerator::TransformationSpaceGroupGenerator | ( | size_t | number, |
const std::string & | hmSymbol, | ||
const std::string & | generatorInformation | ||
) |
Constructor of TransformationSpaceGroupGenerator that may throw an std::invalid_argument exception when the generatorInformation- argument can not be interpreted as (base group symbol | transformation).
Definition at line 141 of file SpaceGroupFactory.cpp.
References setBaseAndTransformation().
|
overrideprotectedvirtual |
Generates a group from the SymmetryOperations obtained by applying the stored transformation to the base group.
Implements Mantid::Geometry::AbstractSpaceGroupGenerator.
Definition at line 149 of file SpaceGroupFactory.cpp.
References getBaseSpaceGroup(), and m_transformation.
|
protectedvirtual |
This method is virtual for testing purposes so that using the actual SpaceGroupFactory can be circumvented in the unit tests.
Definition at line 159 of file SpaceGroupFactory.cpp.
References Mantid::Kernel::SingletonHolder< T >::Instance(), and m_baseGroupHMSymbol.
Referenced by generateGroup().
|
protected |
Method to extract base space group symbol and transformation.
This method tries to extract the symbol of the base space group and the transformation matrix/vector pair from the supplied generator string. The expected format of the string is:
Symbol of base space group | Specification of transformation
An example could be, to generate space group P 1 n 1 from P 1 c 1:
P 1 c 1 | -x+z,y,-x
This works similarly for origin shifts and so on.
generatorInformation | :: Generator string in the format (base group | transformation). |
Definition at line 181 of file SpaceGroupFactory.cpp.
References m_baseGroupHMSymbol, and m_transformation.
Referenced by TransformationSpaceGroupGenerator().
|
protected |
Definition at line 90 of file SpaceGroupFactory.h.
Referenced by getBaseSpaceGroup(), and setBaseAndTransformation().
|
protected |
Definition at line 91 of file SpaceGroupFactory.h.
Referenced by generateGroup(), and setBaseAndTransformation().