Namespace for classes and data of point group symmetry elements. More...
Data Structures | |
struct | SymmetryElement |
Base class for symmetry elements. More... | |
struct | Identity |
E symmetry element. More... | |
struct | Inversion |
i symmetry element More... | |
struct | Rotation |
Abstraction of Cn and Sn symmetry elements. More... | |
struct | Reflection |
Reflection by a plane symmetry element. More... | |
struct | ElementGrouping |
Typedefs | |
using | ElementsList = std::vector< std::unique_ptr< SymmetryElement >> |
Heterogeneous list of symmetry elements. | |
using | NpGroupingsMapType = std::unordered_map< unsigned, std::vector< ElementGrouping >, std::hash< unsigned >, std::equal_to<>, Eigen::aligned_allocator< std::pair< const unsigned, std::vector< ElementGrouping >>> > |
Functions | |
Rotation | operator* (const Rotation &rot, const Reflection &reflection) |
Rotation | operator* (const Reflection &reflection, const Rotation &rot) |
PURITY_WEAK ElementsList | symmetryElements (PointGroup group) noexcept |
Lists all symmetry elements for a point group. More... | |
PURITY_STRONG unsigned | order (PointGroup group) |
Returns the number of symmetry elements in a point group. | |
NpGroupingsMapType | npGroupings (const ElementsList &elements) |
Generate all groupings of symmetry elements for those points in space for which some symmetry elements have the same effect. More... | |
Namespace for classes and data of point group symmetry elements.
using Scine::Molassembler::Shapes::Elements::NpGroupingsMapType = typedef std::unordered_map< unsigned, std::vector<ElementGrouping>, std::hash<unsigned>, std::equal_to<>, Eigen::aligned_allocator<std::pair<const unsigned, std::vector<ElementGrouping>>> > |
Map from number of points to element groups, including the probe point E.g. there is a grouping of symmetry elements for four points in Td (G = 24) So the resulting map can be indexed with four to get the symmetry element groups.
NpGroupingsMapType Scine::Molassembler::Shapes::Elements::npGroupings | ( | const ElementsList & | elements | ) |
Generate all groupings of symmetry elements for those points in space for which some symmetry elements have the same effect.
elements | Symmetry elements list |
|
noexcept |
Lists all symmetry elements for a point group.
group | Point group for which to enumerate symmetry elements |
group
values.