From 8591e4c373f9b9921569b2d8c8e7b57bb555d563 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 6 Mar 2014 14:45:44 +0100 Subject: Ignore "twin-proof" reflections --- src/ambigator.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src') diff --git a/src/ambigator.c b/src/ambigator.c index 6c4e0ff2..5be72053 100644 --- a/src/ambigator.c +++ b/src/ambigator.c @@ -117,6 +117,22 @@ static struct flist *asymm_and_merge(RefList *in, const SymOpList *sym, get_asymm(sym, h, k, l, &ha, &ka, &la); + if ( amb != NULL ) { + + signed int hr, kr, lr; + signed int hra, kra, lra; + + get_equiv(amb, NULL, 1, ha, ka, la, &hr, &kr, &lr); + get_asymm(sym, hr, kr, lr, &hra, &kra, &lra); + + /* Skip twin-proof reflections */ + if ( (ha==hra) && (ka==kra) && (la==lra) ) { + //STATUS("%i %i %i is twin proof\n", h, k, l); + continue; + } + + } + cr = find_refl(asym, ha, ka, la); if ( cr == NULL ) { cr = add_refl(asym, ha, ka, la); @@ -179,6 +195,7 @@ static struct flist *asymm_and_merge(RefList *in, const SymOpList *sym, get_indices(refl, &h, &k, &l); get_equiv(amb, NULL, 1, h, k, l, &hr, &kr, &lr); get_asymm(sym, hr, kr, lr, &hra, &kra, &lra); + cr = add_refl(reidx, hra, kra, lra); copy_data(cr, refl); } -- cgit v1.2.3