API Reference
This section provides a detailed reference for all functions and types defined in the CherenkovMediumBase module.
CherenkovMediumBase.DIPPR105ParamsCherenkovMediumBase.HenyeyGreenSteinCherenkovMediumBase.KopelevichScatteringModelCherenkovMediumBase.PolynomialScatteringFunctionCherenkovMediumBase.QuanFryDispersionCherenkovMediumBase.QuanFryDispersionCherenkovMediumBase.QuanFryDispersionCherenkovMediumBase.SimplifiedLiuCherenkovMediumBase.TwoComponentScatteringFunctionCherenkovMediumBase.WavelengthIndependentAbsorptionModelCherenkovMediumBase.WavelengthIndependentScatteringModelCherenkovMediumBase.DIPPR105CherenkovMediumBase._hg_scattering_funcCherenkovMediumBase._refractive_index_fryCherenkovMediumBase._sca_len_part_concCherenkovMediumBase.absorption_lengthCherenkovMediumBase.calc_quan_fry_paramsCherenkovMediumBase.cherenkov_angleCherenkovMediumBase.cherenkov_angleCherenkovMediumBase.dispersionCherenkovMediumBase.dispersionCherenkovMediumBase.dispersionCherenkovMediumBase.dispersion_fryCherenkovMediumBase.es_scatteringCherenkovMediumBase.es_scattering_cumulativeCherenkovMediumBase.es_scattering_integralCherenkovMediumBase.get_absorption_modelCherenkovMediumBase.get_dispersion_modelCherenkovMediumBase.get_scattering_modelCherenkovMediumBase.group_refractive_indexCherenkovMediumBase.group_refractive_indexCherenkovMediumBase.group_velocityCherenkovMediumBase.group_velocityCherenkovMediumBase.make_inverse_es_polynomialCherenkovMediumBase.material_densityCherenkovMediumBase.phase_refractive_indexCherenkovMediumBase.phase_refractive_indexCherenkovMediumBase.phase_refractive_indexCherenkovMediumBase.pressureCherenkovMediumBase.radiation_lengthCherenkovMediumBase.sample_scattering_functionCherenkovMediumBase.scattering_lengthCherenkovMediumBase.scattering_lengthCherenkovMediumBase.sl_scattering_funcCherenkovMediumBase.temperature
CherenkovMediumBase.DIPPR105Params — TypeDIPPR105Params
Parameters for the DIPPR105 formula
CherenkovMediumBase.HenyeyGreenStein — TypeHenyeyGreenStein{T}Struct for Henyey-Greenstein scattering function.
CherenkovMediumBase.KopelevichScatteringModel — TypeKopelevichScatteringModel{T, F<:AbstractScatteringFunction}Struct for Kopelevich scattering model.
CherenkovMediumBase.PolynomialScatteringFunction — TypePolynomialScatteringFunction{T, P <: ImmutablePolynomial{T}}Struct for polynomial scattering function.
CherenkovMediumBase.QuanFryDispersion — TypeQuanFryDispersion{T <: Real}Struct to hold parameters for the Quan & Fry dispersion model.
CherenkovMediumBase.QuanFryDispersion — MethodQuanFryDispersion(a01, a2, a3, a4)Constructor for QuanFryDispersion with given parameters.
CherenkovMediumBase.QuanFryDispersion — MethodQuanFryDispersion(salinity, temperature, pressure)Constructor for QuanFryDispersion using salinity, temperature, and pressure.
CherenkovMediumBase.SimplifiedLiu — TypeSimplifiedLiu{T}Struct for Simplified-Liu scattering function.
CherenkovMediumBase.TwoComponentScatteringFunction — TypeTwoComponentScatteringFunction{F1<:AbstractScatteringFunction, F2<:AbstractScatteringFunction}Struct for two-component mixture scattering model.
CherenkovMediumBase.WavelengthIndependentAbsorptionModel — TypeWavelengthIndependentAbsorptionModel{T} <: AbstractAbsorptionModelStruct for wavelength-independent absorption model.
CherenkovMediumBase.WavelengthIndependentScatteringModel — TypeWavelengthIndependentScatteringModel{T, F<:AbstractScatteringFunction} <: AbstractScatteringModelStruct for wavelength-independent scattering model.
CherenkovMediumBase.DIPPR105 — FunctionDIPPR105(temperature::Real, params::DIPPR105Params=DDBDIPR105Params)
Use DPPIR105 formula to calculate water density as function of temperature. temperature in K.
Reference: http://ddbonline.ddbst.de/DIPPR105DensityCalculation/DIPPR105CalculationCGI.exe?component=Water
Returns density in kg/m^3
CherenkovMediumBase._hg_scattering_func — Method_hg_scattering_func(g::Real)Henyey-Greenstein scattering in one plane.
Arguments
g::Real: mean scattering angle
Returns
typeof(g)cosine of a scattering angle sampled from the distribution
CherenkovMediumBase._refractive_index_fry — Method_refractive_index_fry(wavelength, quan_fry_params)The phase refractive index of sea water according to a model from Quan & Fry.
wavelength is given in nm, salinity in permille, temperature in °C and pressure in atm
The original model is taken from: X. Quan, E.S. Fry, Appl. Opt., 34, 18 (1995) 3477-3480.
An additional term describing pressure dependence was included according to: Wolfgang H.W.A. Schuster, "Measurement of the Optical Properties of the Deep Mediterranean - the ANTARES Detector Medium.", PhD thesis (2002), St. Catherine's College, Oxford downloaded Jan 2011 from: http://www.physics.ox.ac.uk/Users/schuster/thesis0098mmjhuyynh/thesis.ps
Adapted from clsim (https://github.com/claudiok/clsim)
CherenkovMediumBase._sca_len_part_conc — Methodsca_len_part_conc(wavelength; vol_conc_small_part, vol_conc_large_part)Calculates the scattering length (in m) for a given wavelength based on concentrations of small (vol_conc_small_part) and large (vol_conc_large_part) particles. wavelength is given in nm, volconcsmallpart and volconclargepart in ppm
C.D. Mobley "Light and Water", ISBN 0-12-502750-8, pag. 119.
CherenkovMediumBase.absorption_length — Methodabsorption_length(medium::MediumProperties, wavelength)Return absorption length at wavelength in units m. wavelength is expected to be in units nm.
CherenkovMediumBase.calc_quan_fry_params — Methodcalc_quan_fry_params(salinity::Real, temperature::Real, pressure::Real)Helper function to get the parameters for the Quan & Fry formula as function of salinity, temperature and pressure.
CherenkovMediumBase.cherenkov_angle — Methodcherenkov_angle(medium, wavelength)Calculate the cherenkov angle (in rad) for wavelength.
wavelength is expected to be in units nm.
CherenkovMediumBase.cherenkov_angle — Methodcherenkov_angle(medium, wavelength)Calculate the cherenkov angle (in rad) for wavelength.
wavelength is expected to be in units nm.
CherenkovMediumBase.dispersion — Methoddispersion(disperion_model::AbstractDispersionModel)Calculate the dispersion for a given dispersion model.
CherenkovMediumBase.dispersion — Methoddispersion(medium::MediumProperties, wavelength)Return the dispersion dn/dλ at wavelength in units 1/nm. wavelength is expected to be in units nm.
CherenkovMediumBase.dispersion — Methoddispersion(dispersion_model::QuanFryDispersion, wavelength)Calculate the dispersion for the Quan & Fry dispersion model.
CherenkovMediumBase.dispersion_fry — Methoddispersion_fry(wavelength, a2, a3, a4)Calculate the dispersion for the Quan & Fry dispersion model.
CherenkovMediumBase.es_scattering — Methodes_scattering(cos_theta::T, b::T) where {T<:Real}Einstein-Smoluchowsky Scattering PDF.
CherenkovMediumBase.es_scattering_cumulative — Methodes_scattering_integral(cos_theta::T, b::T) where {T<:Real}Integral of ES scattering function from -1 to cos_theta
CherenkovMediumBase.es_scattering_integral — Methodes_scattering_integral(cos_theta::T, b::T) where {T<:Real}Anti-derivative of the ES scattering function.
CherenkovMediumBase.get_absorption_model — Methodget_absorption_model(medium::MediumProperties)Return the absorption model for a given medium.
CherenkovMediumBase.get_dispersion_model — Methodget_dispersion_model(medium::MediumProperties)Return the dispersion model for a given medium.
CherenkovMediumBase.get_scattering_model — Methodget_scattering_model(medium::MediumProperties)Return the scattering model for a given medium.
CherenkovMediumBase.group_refractive_index — Methodgroup_refractive_index(medium, wavelength)Return the group refractive index at wavelength.
wavelength is expected to be in units nm.
CherenkovMediumBase.group_refractive_index — Methodgroup_refractive_index(medium, wavelength)Return the group refractive index at wavelength.
wavelength is expected to be in units nm.
CherenkovMediumBase.group_velocity — Methodgroup_velocity(dispersion_model, wavelength)Return the group_velocity in m/ns at wavelength.
wavelength is expected to be in units nm.
CherenkovMediumBase.group_velocity — Methodgroup_velocity(medium, wavelength)Return the group_velocity in m/ns at wavelength.
wavelength is expected to be in units nm.
CherenkovMediumBase.make_inverse_es_polynomial — Methodmake_inverse_es_polynomial(b::T) where {T<:Real}Make a 3rd order polynomial that approximates the inverse of the ES scattering function.
CherenkovMediumBase.material_density — Methodmaterial_density(medium::MediumProperties)This function returns the material density for a given medium.
CherenkovMediumBase.phase_refractive_index — Methodphase_refractive_index(disperion_model::AbstractDispersionModel)Calculate the phase refractive index for a given dispersion model.
CherenkovMediumBase.phase_refractive_index — Methodphase_refractive_index(medium::MediumProperties, wavelength)Return the phase refractive index at wavelength. wavelength is expected to be in units nm.
CherenkovMediumBase.phase_refractive_index — Methodphase_refractive_index(disperion_model::QuanFryDispersion, wavelength)Calculate the phase refractive index for the Quan & Fry dispersion model.
CherenkovMediumBase.pressure — Methodpressure(medium::MediumProperties)This function returns the pressure for a given medium.
CherenkovMediumBase.radiation_length — Methodradiation_length(medium::MediumProperties)This function returns the radiation length for a given medium.
CherenkovMediumBase.sample_scattering_function — Methodsample_scattering_function(medium::MediumProperties)Return a cos(scattering angle) sampled from the scattering function of the medium.
CherenkovMediumBase.scattering_length — Methodscattering_length(model::KopelevichScatteringModel, wavelength::Real)Calculate the scattering length for the Kopelevich scattering model.
CherenkovMediumBase.scattering_length — Methodscattering_length(medium::MediumProperties, wavelength)Return scattering length at wavelength in units m. wavelength is expected to be in units nm. Returned length is in units m.
CherenkovMediumBase.sl_scattering_func — Methodsl_scattering_func(g::Real)Simplified-Liu scattering angle function. Implementation from: https://user-web.icecube.wisc.edu/~dima/work/WISC/ppc/spice/new/paper/a.pdf
Arguments
g::Real: mean scattering angle
CherenkovMediumBase.temperature — Methodtemperature(medium::MediumProperties)This function returns the temperature for a given medium.