aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/reflist.h
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2018-08-20 17:49:57 +0200
committerThomas White <taw@physics.org>2018-08-30 17:18:54 +0200
commit9cdca7b1b9edc7103e41d6805ad009f9cac272fd (patch)
treeaf1b72c124b15d88bb70f0dd3705a6e88db25127 /libcrystfel/src/reflist.h
parent214b23a62b478acddaeb8d52f6d59909fa931c1e (diff)
RefList: add contribution list
Diffstat (limited to 'libcrystfel/src/reflist.h')
-rw-r--r--libcrystfel/src/reflist.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/libcrystfel/src/reflist.h b/libcrystfel/src/reflist.h
index 9f494474..f2fadb8b 100644
--- a/libcrystfel/src/reflist.h
+++ b/libcrystfel/src/reflist.h
@@ -3,11 +3,11 @@
*
* Fast reflection/peak list
*
- * Copyright © 2012-2017 Deutsches Elektronen-Synchrotron DESY,
+ * Copyright © 2012-2018 Deutsches Elektronen-Synchrotron DESY,
* a research centre of the Helmholtz Association.
*
* Authors:
- * 2011-2017 Thomas White <taw@physics.org>
+ * 2011-2018 Thomas White <taw@physics.org>
*
* This file is part of CrystFEL.
*
@@ -38,6 +38,7 @@
#define GET_K(serial) ((((serial) & 0x000ffc00)>>10)-512)
#define GET_L(serial) (((serial) & 0x000003ff)-512)
+
/**
* RefList:
*
@@ -73,6 +74,17 @@ typedef struct _reflistiterator RefListIterator;
extern "C" {
#endif
+typedef struct _crystal Crystal;
+
+/* Structure representing the contributions to a merged reflection */
+struct reflection_contributions
+{
+ int n_contrib;
+ int max_contrib;
+ Reflection **contribs;
+ Crystal **contrib_crystals;
+};
+
/* Creation/deletion */
extern RefList *reflist_new(void);
extern void reflist_free(RefList *list);
@@ -105,6 +117,7 @@ extern double get_phase(const Reflection *refl, int *have_phase);
extern double get_peak(const Reflection *refl);
extern double get_mean_bg(const Reflection *refl);
extern int get_flag(const Reflection *refl);
+extern struct reflection_contributions *get_contributions(const Reflection *refl);
/* Set */
extern void copy_data(Reflection *to, const Reflection *from);
@@ -126,6 +139,8 @@ extern void set_mean_bg(Reflection *refl, double mean_bg);
extern void set_symmetric_indices(Reflection *refl,
signed int hs, signed int ks, signed int ls);
extern void set_flag(Reflection *refl, int flag);
+extern void set_contributions(Reflection *refl,
+ struct reflection_contributions *contribs);
/* Insertion */
extern Reflection *add_refl(RefList *list,