From 1a206036c00ca86270fe59bfc475dd059bf38969 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sun, 6 Feb 2011 21:20:01 +0100 Subject: Start work on binary tree --- src/reflist.c | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 src/reflist.c (limited to 'src/reflist.c') diff --git a/src/reflist.c b/src/reflist.c new file mode 100644 index 00000000..990bc535 --- /dev/null +++ b/src/reflist.c @@ -0,0 +1,139 @@ +/* + * reflist.c + * + * Fast reflection/peak list + * + * (c) 2011 Thomas White + * + * Part of CrystFEL - crystallography with a FEL + * + */ + + +#include + +#include "reflist.h" + + +struct _reflection { + + unsigned int serial; /* Serial number */ + + signed int h; + signed int k; + signed int l; + + double excitation_error; + + /* Partiality */ + double r1; /* First excitation error */ + double r2; /* Second excitation error */ + double p; /* Partiality */ + int clamp1; /* Clamp status for r1 */ + int clamp2; /* Clamp status for r2 */ + + /* Location in image */ + int x; + int y; + + int scalable; + + /* Intensity */ + double intensity; + + +}; + + +struct _reflist { + + struct ref *head; + +}; + + +/**************************** Creation / deletion *****************************/ + +/* Create a reflection list */ +RefList *reflist_new() +{ + RefList *new; + + new = malloc(sizeof(struct _reflist)); + + return new; +} + + +void reflist_free(RefList *list) +{ +} + + +/********************************** Search ************************************/ + +Reflection *find_refl(RefList *list, INDICES) +{ +} + + +/********************************** Getters ***********************************/ + +double get_excitation_error(Reflection *refl) +{ +} + + +void get_detector_pos(Reflection *refl, double *x, double *y) +{ +} + + +void get_indices(Reflection *refl, signed int *h, signed int *k, signed int *l) +{ +} + + +/********************************** Setters ***********************************/ + +void set_detector_pos(Reflection *refl, double exerr, double x, double y) +{ +} + + +void set_partial(Reflection *refl, double r1, double r2, double p, + double clamp_low, double clamp_high) +{ +} + + +/********************************* Insertion **********************************/ + +Reflection *add_refl(RefList *list, INDICES) +{ +} + + +Reflection *add_refl_with_det_pos(RefList *refl, INDICES, double exerr, + double x, double y) +{ +} + + +/********************************* Iteration **********************************/ + +Reflection *first_refl(RefList *list) +{ +} + + +Reflection *next_refl(Reflection *refl) +{ +} + + +/*********************************** Voodoo ***********************************/ + +void optimise_reflist(RefList *list) +{ +} -- cgit v1.2.3