aboutsummaryrefslogtreecommitdiff
path: root/src/beam-parameters.h
blob: 1fadc3f877c2ddc92851fa9c09a8631d82eeaf15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
 * beam-parameters.h
 *
 * Beam parameters
 *
 * (c) 2006-2010 Thomas White <taw@physics.org>
 *
 * Part of CrystFEL - crystallography with a FEL
 *
 */


#ifndef BEAM_PARAMETERS_H
#define BEAM_PARAMETERS_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif


struct beam_params
{
	double fluence;        /* photons per pulse */
	double beam_radius;    /* metres */
	double photon_energy;  /* eV per photon */
	double bandwidth;      /* FWHM(wavelength) over wavelength.
	                        *  Note: current simulation code just uses
	                        *        a rectangular distribution with this as
	                        *        its (full) width. */
	double divergence;     /* divergence (radians) */

	double dqe;            /* Detector DQE (fraction) */
	double adu_per_photon; /* Detector "gain" */

	double water_radius;   /* metres */
};


extern struct beam_params *get_beam_parameters(const char *filename);


#endif	/* BEAM_PARAMETERS_H */