diff options
Diffstat (limited to 'src/optics.h')
-rw-r--r-- | src/optics.h | 31 |
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 |