From d35bef6fae06e96d98699a91946ac7700e3993bc Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 2 Feb 2012 18:53:58 -0800 Subject: Fix arithmetic subtlety in find_panel() --- libcrystfel/src/detector.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libcrystfel/src/detector.c b/libcrystfel/src/detector.c index 50874efd..29a24234 100644 --- a/libcrystfel/src/detector.c +++ b/libcrystfel/src/detector.c @@ -421,11 +421,14 @@ struct panel *find_panel(struct detector *det, double fs, double ss) { int p; + /* Fractional pixel coordinates are allowed to be a little further along + * than "== max_{f,s}s" for an integer. */ + for ( p=0; pn_panels; p++ ) { if ( (fs >= det->panels[p].min_fs) - && (fs <= det->panels[p].max_fs) + && (fs <= det->panels[p].max_fs+1) && (ss >= det->panels[p].min_ss) - && (ss <= det->panels[p].max_ss) ) { + && (ss <= det->panels[p].max_ss+1) ) { return &det->panels[p]; } } -- cgit v1.2.3