diff options
author | Thomas White <taw@physics.org> | 2019-08-30 14:37:27 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2019-09-02 13:14:32 +0200 |
commit | 1df82f92bb366bac6bb2e7e6e04506b2d22dab0e (patch) | |
tree | 079d986091833be890bf3861812b5bb3d162383d /libcrystfel/src/geometry.h | |
parent | 77406eb6d3a655364e52f046215fcebe8d873368 (diff) |
process_hkl,partialator: Allow arbitrary direction and degree of polarisation
Diffstat (limited to 'libcrystfel/src/geometry.h')
-rw-r--r-- | libcrystfel/src/geometry.h | 16 |
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); |