aboutsummaryrefslogtreecommitdiff
path: root/src/optics.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/optics.h')
-rw-r--r--src/optics.h31
1 files changed, 21 insertions, 10 deletions
diff --git a/src/optics.h b/src/optics.h
index 19db2b9..70ff53b 100644
--- a/src/optics.h
+++ b/src/optics.h
@@ -19,21 +19,32 @@
#include "dict.h"
+/* Global error string when optics_init() returns -1. */
extern char optics_err[256];
+/* Initialize the optics data by reading in the RSPR bank and precomputing the
+ * average absorption and scattering tables. */
int optics_init(dict *db);
-double get_rayleigh_scattering_length_snoman_d2o(double wavelength);
-double get_rayleigh_scattering_length_snoman_h2o(double wavelength);
-double get_weighted_rayleigh_scattering_length_snoman_d2o(void);
-double get_weighted_rayleigh_scattering_length_snoman_h2o(void);
-double get_weighted_absorption_length_snoman_h2o(void);
-double get_absorption_length_snoman_h2o(double wavelength);
-double get_weighted_absorption_length_snoman_d2o(void);
-double get_absorption_length_snoman_d2o(double wavelength);
-double get_weighted_absorption_length_snoman_acrylic(void);
-double get_absorption_length_snoman_acrylic(double wavelength);
+
+/* Functions for computing the index of refraction. */
double get_index(double p, double wavelength, double T);
double get_index_snoman_h2o(double wavelength);
double get_index_snoman_d2o(double wavelength);
+/* Functions for computing the probability that a photon is not absorbed or
+ * scattered after a certain distance. */
+double get_fabs_d2o(double x);
+double get_fabs_h2o(double x);
+double get_fabs_acrylic(double x);
+double get_fsct_d2o(double x);
+double get_fsct_h2o(double x);
+
+/* Functions for computing the absorption and scattering length as a funcion of
+ * wavelength. */
+double get_absorption_length_snoman_d2o(double wavelength);
+double get_absorption_length_snoman_h2o(double wavelength);
+double get_absorption_length_snoman_acrylic(double wavelength);
+double get_rayleigh_scattering_length_snoman_d2o(double wavelength);
+double get_rayleigh_scattering_length_snoman_h2o(double wavelength);
+
#endif