5#ifndef GEMMI_RECIPROC_HPP_
6#define GEMMI_RECIPROC_HPP_
14template<
typename Func>
17 double dmin,
double dmax=0.,
bool unique=
true) {
26 for (hkl[0] = -
lim[0]; hkl[0] <=
lim[0]; ++hkl[0])
27 for (hkl[1] = -
lim[1]; hkl[1] <=
lim[1]; ++hkl[1])
28 for (hkl[2] = -
lim[2]; hkl[2] <=
lim[2]; ++hkl[2])
39 double dmin,
double dmax=0.,
bool unique=
true) {
42 cell, spacegroup, dmin, dmax,
unique);
46inline std::vector<Miller>
48 double dmin,
double dmax=0.,
bool unique=
true) {
49 std::vector<Miller>
hkls;
51 cell, spacegroup, dmin, dmax,
unique);
std::array< int, 3 > Miller
A synonym for convenient passing of hkl.
void for_all_reflections(Func func, const UnitCell &cell, const SpaceGroup *spacegroup, double dmin, double dmax=0., bool unique=true)
int count_reflections(const UnitCell &cell, const SpaceGroup *spacegroup, double dmin, double dmax=0., bool unique=true)
std::vector< Miller > make_miller_vector(const UnitCell &cell, const SpaceGroup *spacegroup, double dmin, double dmax=0., bool unique=true)
constexpr float sq(float x)
bool is_systematically_absent(const Op::Miller &hkl) const
bool is_in(const Op::Miller &hkl) const
GroupOps operations() const
Miller get_hkl_limits(double dmin) const
double calculate_1_d2(const Miller &hkl) const