11#include "MantidGeometry/DllConfig.h"
15#include <boost/regex.hpp>
22 PointGroupGenerator(std::string hmSymbol, std::string generatorInformation, std::string description);
66 bool isSubscribed(
const std::string &hmSymbol)
const;
68 std::vector<std::string> getAllPointGroupSymbols()
const;
71 void subscribePointGroup(
const std::string &hmSymbol,
const std::string &generatorString,
72 const std::string &description);
75 void unsubscribePointGroup(
const std::string &hmSymbol) { m_generatorMap.erase(hmSymbol); }
82 std::string pointGroupSymbolFromSpaceGroupSymbol(
const std::string &spaceGroupSymbol)
const;
104EXTERN_MANTID_GEOMETRY
template class MANTID_GEOMETRY_DLL
109#define PGF_CONCAT_IMPL(x, y) x##y
110#define PGF_CONCAT(x, y) PGF_CONCAT_IMPL(x, y)
112#define DECLARE_POINTGROUP(hmSymbol, generators, description) \
114 Mantid::Kernel::RegistrationHelper PGF_CONCAT(register_pointgroup, __COUNTER__)( \
115 ((Mantid::Geometry::PointGroupFactory::Instance().subscribePointGroup(hmSymbol, generators, description)), 0)); \
boost::regex m_originChoiceRegex
std::map< std::string, PointGroup::CrystalSystem > m_crystalSystemMap
std::map< std::string, PointGroupGenerator_sptr > m_generatorMap
boost::regex m_glidePlaneRegex
boost::regex m_screwAxisRegex
boost::regex m_centeringRegex
std::string getHMSymbol() const
std::string m_description
std::string getDescription() const
PointGroup_sptr m_prototype
std::string getGeneratorString() const
std::string m_generatorString
bool hasValidPrototype() const
A class for representing space groups, inheriting from Group.
Manage the lifetime of a class intended to be a singleton.
std::shared_ptr< PointGroupGenerator > PointGroupGenerator_sptr
std::shared_ptr< PointGroup > PointGroup_sptr
Shared pointer to a PointGroup.
std::shared_ptr< const SpaceGroup > SpaceGroup_const_sptr
Helper class which provides the Collimation Length for SANS instruments.
Policy class controlling creation of the singleton Implementation classes should mark their default c...