aboutsummaryrefslogtreecommitdiff
path: root/src/get_hkl.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2009-12-04 14:17:35 +0100
committerThomas White <taw@physics.org>2009-12-04 14:21:46 +0100
commit3849a9692813ddd850b5e2ce1bec8a32b43b5900 (patch)
tree2e8287f897dd1431ff37e8af386ff9673db7f6f4 /src/get_hkl.c
parentba72cc21bb8a36e3fb0ac8e7da69157ae1aed918 (diff)
Add new program: get_hkl, for generating ideal intensity lists
Diffstat (limited to 'src/get_hkl.c')
-rw-r--r--src/get_hkl.c78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/get_hkl.c b/src/get_hkl.c
new file mode 100644
index 00000000..907a47d4
--- /dev/null
+++ b/src/get_hkl.c
@@ -0,0 +1,78 @@
+/*
+ * get_hkl.c
+ *
+ * Small program to write out a list of h,k,l,I values given a structure
+ *
+ * (c) 2006-2009 Thomas White <thomas.white@desy.de>
+ *
+ * Part of CrystFEL - crystallography with a FEL
+ *
+ */
+
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdarg.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <getopt.h>
+
+#include "utils.h"
+#include "sfac.h"
+#include "reflections.h"
+
+
+static void show_help(const char *s)
+{
+ printf("Syntax: %s [options]\n\n", s);
+ printf(
+"Write idealised intensity lists.\n"
+"\n"
+" -h, --help Display this help message.\n");
+}
+
+
+int main(int argc, char *argv[])
+{
+ int c;
+ double *ref;
+ struct molecule *mol;
+
+ /* Long options */
+ const struct option longopts[] = {
+ {"help", 0, NULL, 'h'},
+ {0, 0, NULL, 0}
+ };
+
+ /* Short options */
+ while ((c = getopt_long(argc, argv, "hi:e:r", longopts, NULL)) != -1) {
+
+ switch (c) {
+ case 'h' : {
+ show_help(argv[0]);
+ return 0;
+ }
+
+ case 0 : {
+ break;
+ }
+
+ default : {
+ return 1;
+ }
+ }
+
+ }
+
+ mol = load_molecule();
+ get_reflections_cached(mol, eV_to_J(2.0e3));
+ ref = ideal_intensities(mol->reflections);
+ write_reflections("results/ideal-reflections.hkl", NULL, ref, 1,
+ mol->cell);
+
+ return 0;
+}