aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/geometry.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcrystfel/src/geometry.c')
-rw-r--r--libcrystfel/src/geometry.c29
1 files changed, 18 insertions, 11 deletions
diff --git a/libcrystfel/src/geometry.c b/libcrystfel/src/geometry.c
index 8e8a445d..5289856b 100644
--- a/libcrystfel/src/geometry.c
+++ b/libcrystfel/src/geometry.c
@@ -1086,9 +1086,11 @@ void polarisation_correction(RefList *list, UnitCell *cell,
}
-/* Returns dx_h/dP, where P = any parameter */
-double x_gradient(int param, Reflection *refl, UnitCell *cell,
- struct detgeom_panel *p)
+/* Returns dfs_refl/dP, where P = any parameter *
+ * fs_refl is the fast scan position of refl in panel 'p',
+ * in metres (not pixels) */
+double fs_gradient(int param, Reflection *refl, UnitCell *cell,
+ struct detgeom_panel *p)
{
signed int h, k, l;
double xl, zl, kpred;
@@ -1140,16 +1142,20 @@ double x_gradient(int param, Reflection *refl, UnitCell *cell,
case GPARAM_CLEN :
return -xl / (kpred+zl);
+ default:
+ ERROR("Positional gradient requested for parameter %i?\n", param);
+ abort();
+
}
- ERROR("Positional gradient requested for parameter %i?\n", param);
- abort();
}
-/* Returns dy_h/dP, where P = any parameter */
-double y_gradient(int param, Reflection *refl, UnitCell *cell,
- struct detgeom_panel *p)
+/* Returns dss_refl/dP, where P = any parameter
+ * ss_refl is the slow scan position of refl in panel 'p',
+ * in metres (not pixels) */
+double ss_gradient(int param, Reflection *refl, UnitCell *cell,
+ struct detgeom_panel *p)
{
signed int h, k, l;
double yl, zl, kpred;
@@ -1201,8 +1207,9 @@ double y_gradient(int param, Reflection *refl, UnitCell *cell,
case GPARAM_CLEN :
return -yl / (kpred+zl);
- }
+ default :
+ ERROR("Positional gradient requested for parameter %i?\n", param);
+ abort();
- ERROR("Positional gradient requested for parameter %i?\n", param);
- abort();
+ }
}