Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Mantid::Geometry::GroupTransformation Class Reference

GroupTransformation. More...

#include <GroupTransformation.h>

Public Member Functions

GroupTransformation getInverse () const
 Returns the inverse transformation. More...
 
 GroupTransformation (const MatrixVectorPair< double, V3R > &operation)
 Constructor using MatrixVectorPair. More...
 
 GroupTransformation (const std::string &operationString)
 Constructor that parses a string to construct a MatrixVectorPair. More...
 
Group operator() (const Group &other) const
 Transforms the supplied group and returns the result. More...
 
virtual ~GroupTransformation ()=default
 

Private Member Functions

void setInverseFromPair ()
 
SymmetryOperation transformOperation (const SymmetryOperation &operation) const
 Transforms the operation using the internally stored SymmetryOperation. More...
 

Private Attributes

MatrixVectorPair< double, V3Rm_inversePair
 
MatrixVectorPair< double, V3Rm_matrixVectorPair
 

Detailed Description

GroupTransformation.

This class transforms Group-objects, using a SymmetryOperation. It can be used to transform a point- or space group into a different setting.

The following example shows how to transform the Group P 1 2/m 1 to P 1 1 2/m, with unique c-axis:

SpaceGroup_const_sptr sg = SpaceGroupFactory::Instance().createSpaceGroup("P 1 2/m 1");

Group transformed = GroupTransformation("y,z,x")(*sg);

Using the getInverse-method, the transformation can be reversed.

@author Michael Wedel, ESS
@date 01/11/2015

Definition at line 34 of file GroupTransformation.h.

Constructor & Destructor Documentation

◆ GroupTransformation() [1/2]

Mantid::Geometry::GroupTransformation::GroupTransformation ( const MatrixVectorPair< double, V3R > &  operation)

Constructor using MatrixVectorPair.

Definition at line 18 of file GroupTransformation.cpp.

References setInverseFromPair().

◆ GroupTransformation() [2/2]

Mantid::Geometry::GroupTransformation::GroupTransformation ( const std::string &  operationString)

Constructor that parses a string to construct a MatrixVectorPair.

Definition at line 24 of file GroupTransformation.cpp.

◆ ~GroupTransformation()

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

Member Function Documentation

◆ getInverse()

GroupTransformation Mantid::Geometry::GroupTransformation::getInverse ( ) const

Returns the inverse transformation.

Definition at line 43 of file GroupTransformation.cpp.

References m_matrixVectorPair.

◆ operator()()

Group Mantid::Geometry::GroupTransformation::operator() ( const Group other) const

Transforms the supplied group and returns the result.

Definition at line 28 of file GroupTransformation.cpp.

References transformOperation().

◆ setInverseFromPair()

void Mantid::Geometry::GroupTransformation::setInverseFromPair ( )
private

Definition at line 68 of file GroupTransformation.cpp.

References m_inversePair, and m_matrixVectorPair.

Referenced by GroupTransformation().

◆ transformOperation()

SymmetryOperation Mantid::Geometry::GroupTransformation::transformOperation ( const SymmetryOperation operation) const
private

Transforms the operation using the internally stored SymmetryOperation.

This method returns the transformed symmetry operation, using the following relation:

S' = O^-1 * S * O

Where O is the internally stored operation.

Parameters
operation:: SymmetryOperation to transform.
Returns
Transformed symmetry operation.

Definition at line 60 of file GroupTransformation.cpp.

References Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::getMatrix(), Mantid::Geometry::MatrixVectorPair< MatrixNumericType, VectorType >::getVector(), Mantid::Geometry::getWrappedVector(), m_inversePair, m_matrixVectorPair, Mantid::Geometry::SymmetryOperation::matrix(), and Mantid::Geometry::SymmetryOperation::vector().

Referenced by operator()().

Member Data Documentation

◆ m_inversePair

MatrixVectorPair<double, V3R> Mantid::Geometry::GroupTransformation::m_inversePair
private

Definition at line 51 of file GroupTransformation.h.

Referenced by setInverseFromPair(), and transformOperation().

◆ m_matrixVectorPair

MatrixVectorPair<double, V3R> Mantid::Geometry::GroupTransformation::m_matrixVectorPair
private

Definition at line 50 of file GroupTransformation.h.

Referenced by getInverse(), setInverseFromPair(), and transformOperation().


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