aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/datatemplate.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2020-12-18 12:17:21 +0100
committerThomas White <taw@physics.org>2020-12-18 12:17:21 +0100
commit21c67699d352cb95549a225694575db2808d8a91 (patch)
tree9e95132317ac396334dfc336879d8e8cc796635d /libcrystfel/src/datatemplate.c
parent9da7f1b3f6a4245eb0c35fb32d32c60d60538eb2 (diff)
Add peak_list_type in geometry file
Diffstat (limited to 'libcrystfel/src/datatemplate.c')
-rw-r--r--libcrystfel/src/datatemplate.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/libcrystfel/src/datatemplate.c b/libcrystfel/src/datatemplate.c
index 18b09c12..0da913d4 100644
--- a/libcrystfel/src/datatemplate.c
+++ b/libcrystfel/src/datatemplate.c
@@ -756,6 +756,28 @@ static int parse_photon_energy(const char *val,
}
+static int parse_peak_layout(const char *val,
+ enum peak_layout *layout)
+{
+ if ( strcmp(val, "auto") == 0 ) {
+ *layout = PEAK_LIST_AUTO;
+ return 0;
+ }
+
+ if ( strcmp(val, "cxi") == 0 ) {
+ *layout = PEAK_LIST_CXI;
+ return 0;
+ }
+
+ if ( (strcmp(val, "list3") == 0) ) {
+ *layout = PEAK_LIST_LIST3;
+ return 0;
+ }
+
+ return 1;
+}
+
+
static int parse_toplevel(DataTemplate *dt,
const char *key,
const char *val,
@@ -812,6 +834,9 @@ static int parse_toplevel(DataTemplate *dt,
} else if ( strcmp(key, "peak_list") == 0 ) {
dt->peak_list = strdup(val);
+ } else if ( strcmp(key, "peak_list_type") == 0 ) {
+ return parse_peak_layout(val, &dt->peak_list_type);
+
} else if ( strcmp(key, "bandwidth") == 0 ) {
double v;
char *end;