aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/image.h
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2014-01-20 17:20:10 +0100
committerThomas White <taw@physics.org>2014-01-20 17:20:10 +0100
commit8e2f2f44f46c18f7bd621a2ef9a3d0aa813d76d9 (patch)
tree80f8b99b1d37ac8357aeb3298838fb995403e300 /libcrystfel/src/image.h
parent2304299259c55be3726929f5537ad2eed3155086 (diff)
pattern_sim: Overhaul and add SASE spectrum simulation
Diffstat (limited to 'libcrystfel/src/image.h')
-rw-r--r--libcrystfel/src/image.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/libcrystfel/src/image.h b/libcrystfel/src/image.h
index a1ac75a3..0c189cad 100644
--- a/libcrystfel/src/image.h
+++ b/libcrystfel/src/image.h
@@ -44,6 +44,10 @@
#include "crystal.h"
#include "index.h"
+typedef enum {
+ SPECTRUM_TOPHAT,
+ SPECTRUM_SASE
+} SpectrumType;
/* Structure describing a feature in an image */
struct imagefeature {
@@ -67,6 +71,13 @@ struct imagefeature {
/* An opaque type representing a list of image features */
typedef struct _imagefeaturelist ImageFeatureList;
+/* Structure describing a wavelength sample from a spectrum */
+struct sample
+{
+ double k;
+ double weight;
+};
+
/**
* image:
@@ -144,6 +155,10 @@ struct image {
int id; /* ID number of the thread
* handling this image */
+ struct sample *spectrum;
+ int nsamples; /* Number of wavelengths */
+ int spectrum_size; /* Size of "spectrum" */
+
/* Per-shot radiation values */
double lambda; /* Wavelength in m */
double div; /* Divergence in radians */