aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/reflist-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcrystfel/src/reflist-utils.h')
-rw-r--r--libcrystfel/src/reflist-utils.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/libcrystfel/src/reflist-utils.h b/libcrystfel/src/reflist-utils.h
new file mode 100644
index 00000000..d14e5f8e
--- /dev/null
+++ b/libcrystfel/src/reflist-utils.h
@@ -0,0 +1,52 @@
+/*
+ * reflist-utils.h
+ *
+ * Utilities to complement the core reflist.c
+ *
+ * (c) 2006-2011 Thomas White <taw@physics.org>
+ *
+ * Part of CrystFEL - crystallography with a FEL
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifndef REFLIST_UTILS_H
+#define REFLIST_UTILS_H
+
+
+#include "reflist.h"
+#include "cell.h"
+#include "symmetry.h"
+
+
+#define REFLECTION_END_MARKER "End of reflections"
+
+
+extern void write_reflections_to_file(FILE *fh, RefList *list, UnitCell *cell);
+
+extern int write_reflist(const char *filename, RefList *list, UnitCell *cell);
+
+extern RefList *read_reflections_from_file(FILE *fh);
+
+extern RefList *read_reflections(const char *filename);
+
+extern double *intensities_from_list(RefList *list);
+extern double *phases_from_list(RefList *list);
+extern unsigned char *flags_from_list(RefList *list);
+
+extern int check_list_symmetry(RefList *list, const SymOpList *sym);
+extern int find_equiv_in_list(RefList *list, signed int h, signed int k,
+ signed int l, const SymOpList *sym, signed int *hu,
+ signed int *ku, signed int *lu);
+
+extern RefList *asymmetric_indices(RefList *in, const SymOpList *sym);
+
+extern void resolution_limits(RefList *list, UnitCell *cell,
+ double *rmin, double *rmax);
+
+extern double max_intensity(RefList *list);
+
+#endif /* REFLIST_UTILS_H */