aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/geometry.h
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2019-08-30 14:37:27 +0200
committerThomas White <taw@physics.org>2019-09-02 13:14:32 +0200
commit1df82f92bb366bac6bb2e7e6e04506b2d22dab0e (patch)
tree079d986091833be890bf3861812b5bb3d162383d /libcrystfel/src/geometry.h
parent77406eb6d3a655364e52f046215fcebe8d873368 (diff)
process_hkl,partialator: Allow arbitrary direction and degree of polarisation
Diffstat (limited to 'libcrystfel/src/geometry.h')
-rw-r--r--libcrystfel/src/geometry.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/libcrystfel/src/geometry.h b/libcrystfel/src/geometry.h
index e6e862a5..4bd1624f 100644
--- a/libcrystfel/src/geometry.h
+++ b/libcrystfel/src/geometry.h
@@ -91,6 +91,17 @@ enum gparam {
};
+/**
+ * This structure represents the polarisation of the incident radiation
+ */
+struct polarisation
+{
+ double fraction; /**< Polarisation fraction (0 to 1) */
+ double angle; /**< Angle of electron beam, radians, clockwise from
+ * horizontal when looking along beam */
+};
+
+
extern RefList *predict_to_res(Crystal *cryst, double max_res);
extern void calculate_partialities(Crystal *cryst, PartialityModel pmodel);
@@ -98,8 +109,9 @@ extern void calculate_partialities(Crystal *cryst, PartialityModel pmodel);
extern double r_gradient(UnitCell *cell, int k, Reflection *refl,
struct image *image);
extern void update_predictions(Crystal *cryst);
-extern void polarisation_correction(RefList *list, UnitCell *cell,
- struct image *image);
+extern struct polarisation parse_polarisation(const char *text);
+extern void polarisation_correction(RefList *list, UnitCell *cell, double lambda,
+ struct polarisation p);
extern double sphere_fraction(double rlow, double rhigh, double pr);
extern double gaussian_fraction(double rlow, double rhigh, double pr);