9#include "MantidGeometry/DllConfig.h"
33 enum class CrystalSystem { Triclinic, Monoclinic, Orthorhombic, Tetragonal, Hexagonal, Trigonal, Cubic };
35 enum class LatticeSystem { Triclinic, Monoclinic, Orthorhombic, Tetragonal, Hexagonal, Rhombohedral, Cubic };
37 PointGroup(
const std::string &symbolHM,
const Group &group,
const std::string &description =
"");
39 std::string
getName()
const {
return m_name; }
41 std::string getSymbol()
const;
50 std::vector<Kernel::V3D> getEquivalents(
const Kernel::V3D &hkl)
const;
55 std::vector<Kernel::V3D> getAllEquivalents(
const Kernel::V3D &hkl)
const;
57 CrystalSystem getCrystalSystemFromGroup()
const;
58 LatticeSystem getLatticeSystemFromCrystalSystemAndGroup(
const CrystalSystem &crystalSystem)
const;
const std::vector< double > & rhs
The class Group represents a set of symmetry operations (or symmetry group).
A class containing the Point Groups for a crystal.
std::string getName() const
Name of the point group.
LatticeSystem latticeSystem() const
CrystalSystem m_crystalSystem
LatticeSystem m_latticeSystem
CrystalSystem crystalSystem() const
MANTID_GEOMETRY_DLL PointGroup::LatticeSystem getLatticeSystemFromString(const std::string &latticeSystem)
Returns the lattice system enum that corresponds to the supplied string or throws an invalid_argument...
std::shared_ptr< PointGroup > PointGroup_sptr
Shared pointer to a PointGroup.
std::multimap< PointGroup::CrystalSystem, PointGroup_sptr, CrystalSystemComparator > PointGroupCrystalSystemMap
MANTID_GEOMETRY_DLL std::string getLatticeSystemAsString(const PointGroup::LatticeSystem &latticeSystem)
Returns the supplied LatticeSystem as a string.
MANTID_GEOMETRY_DLL std::ostream & operator<<(std::ostream &stream, const PointGroup &self)
Returns a streamed representation of the PointGroup object.
MANTID_GEOMETRY_DLL PointGroup::CrystalSystem getCrystalSystemFromString(const std::string &crystalSystem)
Returns the crystal system enum that corresponds to the supplied string or throws an invalid_argument...
MANTID_GEOMETRY_DLL std::string getCrystalSystemAsString(const PointGroup::CrystalSystem &crystalSystem)
Return a human-readable string for the given crystal system.
MANTID_GEOMETRY_DLL std::vector< PointGroup_sptr > getAllPointGroups()
MANTID_GEOMETRY_DLL PointGroupCrystalSystemMap getPointGroupsByCrystalSystem()
Returns a multimap with crystal system as key and point groups as values.
Helper class which provides the Collimation Length for SANS instruments.
This is necessary to make the map work with older compilers.