file
symmetry.hpp
Contents
- Reference
Namespaces
- namespace gemmi
- namespace gemmi::impl
- namespace std
Classes
- struct gemmi::Op
- struct gemmi::GroupOps
- struct gemmi::GroupOps::Iter
- struct gemmi::SpaceGroup
- struct gemmi::SpaceGroupAltName
-
template<class Dummy>struct gemmi::impl::Tables_
- struct gemmi::ReciprocalAsuChecker
-
template<>struct std::hash<gemmi::Op>
Enums
- enum class CrystalSystem: unsigned char { Triclinic =0, Monoclinic, Orthorhombic, Tetragonal, Trigonal, Hexagonal, Cubic }
- enum class PointGroup: unsigned char { C1 =0, Ci, C2, Cs, C2h, D2, C2v, D2h, C4, S4, C4h, D4, C4v, D2d, D4h, C3, C3i, D3, C3v, D3d, C6, C3h, C6h, D6, C6v, D3h, D6h, T, Th, O, Td, Oh }
- enum class Laue: unsigned char { L1 =0, L2m, Lmmm, L4m, L4mmm, L3, L3m, L6m, L6mmm, Lm3, Lm3m }
Typedefs
- using spacegroup_tables = impl::Tables_<void>
Functions
- auto skip_blank(const char* p) -> const char*
- auto operator==(const Op& a, const Op& b) -> bool
- auto operator!=(const Op& a, const Op& b) -> bool
- auto operator*(const Op& a, const Op& b) -> Op
- auto operator*=(Op& a, const Op& b) -> Op&
-
auto parse_triplet_part(const std::
string& s) -> std:: array<int, 4> -
auto parse_triplet(const std::
string& s) -> Op -
void append_small_number(std::
string& s, int n) -
void append_sign_of(std::
string& s, int n) -
void append_op_fraction(std::
string& s, int w) -
auto make_triplet_part(int x,
int y,
int z,
int w,
char style = 'x') -> std::
string -
auto centring_vectors(char lattice_symbol) -> std::
vector<Op::Tran> -
auto split_centering_vectors(const std::
vector<Op>& ops) -> GroupOps - auto hall_rotation_z(int N) -> Op::Rot
- auto hall_translation_from_symbol(char symbol) -> Op::Tran
- auto hall_matrix_symbol(const char* start, const char* end, int pos, int& prev) -> Op
- auto parse_hall_change_of_basis(const char* start, const char* end) -> Op
- auto generators_from_hall(const char* hall) -> GroupOps
- auto symops_from_hall(const char* hall) -> GroupOps
- auto crystal_system_str(CrystalSystem system) -> const char*
- auto point_group_hm(PointGroup pg) -> const char*
- auto pointgroup_to_laue(PointGroup pg) -> Laue
- auto laue_to_pointgroup(Laue laue) -> PointGroup
- auto laue_class_str(Laue laue) -> const char*
- auto crystal_system(Laue laue) -> CrystalSystem
- auto crystal_system(PointGroup pg) -> CrystalSystem
- auto point_group_index_and_category(int space_group_number) -> unsigned char
- auto point_group(int space_group_number) -> PointGroup
- auto is_sohncke(int space_group_number) -> bool
- auto is_enantiomorphic(int space_group_number) -> bool
- auto get_basisop(int basisop_idx) -> const char*
- auto find_spacegroup_by_number(int ccp4) -> const SpaceGroup* noexcept
- auto get_spacegroup_by_number(int ccp4) -> const SpaceGroup&
- auto get_spacegroup_reference_setting(int number) -> const SpaceGroup&
-
auto find_spacegroup_by_name(std::
string name, double alpha = 0., double gamma = 0.) -> const SpaceGroup* noexcept -
auto get_spacegroup_by_name(const std::
string& name) -> const SpaceGroup& - auto get_spacegroup_p1() -> const SpaceGroup&
- auto find_spacegroup_by_ops(const GroupOps& gops) -> const SpaceGroup*
- auto find_spacegroup_by_change_of_basis(const SpaceGroup* sg, const Op& cob) -> const SpaceGroup*