11#include "MantidGeometry/DllConfig.h"
14#include <gsl/gsl_matrix.h>
42 virtual std::shared_ptr<SymmetryElement>
clone()
const = 0;
45 std::string
hmSymbol()
const {
return m_hmSymbol; }
129 void setAxis(
const V3R &axis);
SymmetryElementIdentity represents the identity.
SymmetryElementInversion represents the inversion.
V3R getInversionPoint() const
Returns the internally stored inversion point.
SymmetryElementMirror represents mirror and glide-planes.
SymmetryElementRotation represents rotation-, rotoinversion- and screw-axes.
RotationSense getRotationSense() const
Returns the internally stored rotation sense.
RotationSense m_rotationSense
SymmetryElementTranslation represents translations.
V3R getTranslation() const
Returns the internally stored translation vector.
SymmetryElementWithAxis does not represent any symmetry element directly.
V3R getAxis() const
Returns the internally stored axis.
V3R getTranslation() const
Returns the internally stored translation vector.
SymmetryElement is an interface for representing symmetry elements that occur for example in space an...
virtual ~SymmetryElement()=default
virtual std::shared_ptr< SymmetryElement > clone() const =0
std::string hmSymbol() const
Returns the internally stored Hermann-Mauguin symbol.
std::shared_ptr< SymmetryElementTranslation > SymmetryElementTranslation_sptr
std::shared_ptr< SymmetryElementMirror > SymmetryElementMirror_sptr
std::shared_ptr< SymmetryElementWithAxis > SymmetryElementWithAxis_sptr
std::shared_ptr< SymmetryElementRotation > SymmetryElementRotation_sptr
std::shared_ptr< SymmetryElementIdentity > SymmetryElementIdentity_sptr
std::shared_ptr< SymmetryElementInversion > SymmetryElementInversion_sptr
std::shared_ptr< SymmetryElement > SymmetryElement_sptr
Helper class which provides the Collimation Length for SANS instruments.