aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2014-03-06 14:45:44 +0100
committerThomas White <taw@physics.org>2014-03-06 14:45:44 +0100
commit8591e4c373f9b9921569b2d8c8e7b57bb555d563 (patch)
tree23043ec2438cf29d4778ece054b38c6428309d46 /src
parent011efea3ee5205ec88e4a1eeee3a76b9c1cad65d (diff)
Ignore "twin-proof" reflections
Diffstat (limited to 'src')
-rw-r--r--src/ambigator.c17
1 files changed, 17 insertions, 0 deletions
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);
}