aboutsummaryrefslogtreecommitdiff
path: root/src/check_hkl.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2016-04-19 19:29:43 +0200
committerThomas White <taw@physics.org>2017-05-16 11:30:01 +0200
commit9bf3eaac8d5172868fc0cc85186a872f5644d201 (patch)
treea750b796b8dd1480d3351f8452c864c197fd6286 /src/check_hkl.c
parentf3108a608fab0773e19b4e30750a165e45d3747a (diff)
check_hkl: Calculate resolution of reflection with asymmetric indices for both possible and measured reflections
Previously, it used whichever indices it found first. This made the resolutions different enough to fall into different bins, and screwed up the completeness (fortunately, rarely).
Diffstat (limited to 'src/check_hkl.c')
-rw-r--r--src/check_hkl.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/check_hkl.c b/src/check_hkl.c
index def986c9..c7afb6cc 100644
--- a/src/check_hkl.c
+++ b/src/check_hkl.c
@@ -501,7 +501,8 @@ static void plot_shells(RefList *list, UnitCell *cell, const SymOpList *sym,
signed int hs, ks, ls;
int bin;
- d = 2.0 * resolution(cell, h, k, l);
+ get_asymm(sym, h, k, l, &hs, &ks, &ls);
+ d = 2.0 * resolution(cell, hs, ks, ls);
if ( forbidden_reflection(cell, h, k, l) ) continue;
@@ -514,7 +515,6 @@ static void plot_shells(RefList *list, UnitCell *cell, const SymOpList *sym,
}
if ( bin == -1 ) continue;
- get_asymm(sym, h, k, l, &hs, &ks, &ls);
if ( find_refl(counted, hs, ks, ls) != NULL ) continue;
add_refl(counted, hs, ks, ls);
@@ -530,7 +530,7 @@ static void plot_shells(RefList *list, UnitCell *cell, const SymOpList *sym,
refl != NULL;
refl = next_refl(refl, iter) )
{
- signed int h, k, l;
+ signed int h, k, l, hs, ks, ls;
double d, val, esd;
int bin;
int j;
@@ -538,7 +538,8 @@ static void plot_shells(RefList *list, UnitCell *cell, const SymOpList *sym,
get_indices(refl, &h, &k, &l);
if ( forbidden_reflection(cell, h, k, l) ) continue;
- d = resolution(cell, h, k, l) * 2.0;
+ get_asymm(sym, h, k, l, &hs, &ks, &ls);
+ d = resolution(cell, hs, ks, ls) * 2.0;
val = get_intensity(refl);
esd = get_esd_intensity(refl);