API Reference
This section provides a detailed reference for all functions and types defined in the CherenkovMediumBase
module.
CherenkovMediumBase.DIPPR105Params
CherenkovMediumBase.HenyeyGreenStein
CherenkovMediumBase.KopelevichScatteringModel
CherenkovMediumBase.PolynomialScatteringFunction
CherenkovMediumBase.QuanFryDispersion
CherenkovMediumBase.QuanFryDispersion
CherenkovMediumBase.QuanFryDispersion
CherenkovMediumBase.SimplifiedLiu
CherenkovMediumBase.TwoComponentScatteringModel
CherenkovMediumBase.DIPPR105
CherenkovMediumBase._hg_scattering_func
CherenkovMediumBase._refractive_index_fry
CherenkovMediumBase._sca_len_part_conc
CherenkovMediumBase.absorption_length
CherenkovMediumBase.calc_quan_fry_params
CherenkovMediumBase.cherenkov_angle
CherenkovMediumBase.dispersion
CherenkovMediumBase.dispersion
CherenkovMediumBase.dispersion
CherenkovMediumBase.dispersion_fry
CherenkovMediumBase.es_scattering
CherenkovMediumBase.es_scattering_cumulative
CherenkovMediumBase.es_scattering_integral
CherenkovMediumBase.group_refractive_index
CherenkovMediumBase.group_velocity
CherenkovMediumBase.make_inverse_es_polynomial
CherenkovMediumBase.material_density
CherenkovMediumBase.phase_refractive_index
CherenkovMediumBase.phase_refractive_index
CherenkovMediumBase.phase_refractive_index
CherenkovMediumBase.pressure
CherenkovMediumBase.radiation_length
CherenkovMediumBase.sample_scattering_function
CherenkovMediumBase.scattering_length
CherenkovMediumBase.scattering_length
CherenkovMediumBase.sl_scattering_func
CherenkovMediumBase.temperature
CherenkovMediumBase.DIPPR105Params
— TypeDIPPR105Params
Parameters for the DIPPR105 formula
CherenkovMediumBase.HenyeyGreenStein
— TypeHenyeyGreenStein{T}
Struct for Henyey-Greenstein scattering function.
CherenkovMediumBase.KopelevichScatteringModel
— TypeKopelevichScatteringModel{F<:AbstractScatteringFunction, T}
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.TwoComponentScatteringModel
— TypeTwoComponentScatteringModel{F1<:AbstractScatteringFunction, F2<:AbstractScatteringFunction}
Struct for two-component 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
— Methodrefractive_index_fry(wavelength, salinity, temperature, pressure)
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.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(
+API · CherenkovMediumBase.jl API Reference
This section provides a detailed reference for all functions and types defined in the CherenkovMediumBase
module.
CherenkovMediumBase.DIPPR105Params
CherenkovMediumBase.HenyeyGreenStein
CherenkovMediumBase.KopelevichScatteringModel
CherenkovMediumBase.PolynomialScatteringFunction
CherenkovMediumBase.QuanFryDispersion
CherenkovMediumBase.QuanFryDispersion
CherenkovMediumBase.QuanFryDispersion
CherenkovMediumBase.SimplifiedLiu
CherenkovMediumBase.TwoComponentScatteringFunction
CherenkovMediumBase.DIPPR105
CherenkovMediumBase._hg_scattering_func
CherenkovMediumBase._refractive_index_fry
CherenkovMediumBase._sca_len_part_conc
CherenkovMediumBase.absorption_length
CherenkovMediumBase.calc_quan_fry_params
CherenkovMediumBase.cherenkov_angle
CherenkovMediumBase.dispersion
CherenkovMediumBase.dispersion
CherenkovMediumBase.dispersion
CherenkovMediumBase.dispersion_fry
CherenkovMediumBase.es_scattering
CherenkovMediumBase.es_scattering_cumulative
CherenkovMediumBase.es_scattering_integral
CherenkovMediumBase.get_dispersion_model
CherenkovMediumBase.get_scattering_model
CherenkovMediumBase.group_refractive_index
CherenkovMediumBase.group_velocity
CherenkovMediumBase.make_inverse_es_polynomial
CherenkovMediumBase.material_density
CherenkovMediumBase.phase_refractive_index
CherenkovMediumBase.phase_refractive_index
CherenkovMediumBase.phase_refractive_index
CherenkovMediumBase.pressure
CherenkovMediumBase.radiation_length
CherenkovMediumBase.sample_scattering_function
CherenkovMediumBase.scattering_length
CherenkovMediumBase.scattering_length
CherenkovMediumBase.sl_scattering_func
CherenkovMediumBase.temperature
CherenkovMediumBase.DIPPR105Params
— TypeDIPPR105Params
Parameters for the DIPPR105 formula
sourceCherenkovMediumBase.HenyeyGreenStein
— TypeHenyeyGreenStein{T}
Struct for Henyey-Greenstein scattering function.
sourceCherenkovMediumBase.KopelevichScatteringModel
— TypeKopelevichScatteringModel{F<:AbstractScatteringFunction, T}
Struct for Kopelevich scattering model.
sourceCherenkovMediumBase.PolynomialScatteringFunction
— TypePolynomialScatteringFunction{T, P <: ImmutablePolynomial{T}}
Struct for polynomial scattering function.
sourceCherenkovMediumBase.QuanFryDispersion
— TypeQuanFryDispersion{T <: Real}
Struct to hold parameters for the Quan & Fry dispersion model.
sourceCherenkovMediumBase.QuanFryDispersion
— MethodQuanFryDispersion(a01, a2, a3, a4)
Constructor for QuanFryDispersion with given parameters.
sourceCherenkovMediumBase.QuanFryDispersion
— MethodQuanFryDispersion(salinity, temperature, pressure)
Constructor for QuanFryDispersion using salinity, temperature, and pressure.
sourceCherenkovMediumBase.SimplifiedLiu
— TypeSimplifiedLiu{T}
Struct for Simplified-Liu scattering function.
sourceCherenkovMediumBase.TwoComponentScatteringFunction
— TypeTwoComponentScatteringFunction{F1<:AbstractScatteringFunction, F2<:AbstractScatteringFunction}
Struct for two-component scattering model.
sourceCherenkovMediumBase.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
sourceCherenkovMediumBase._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
sourceCherenkovMediumBase._refractive_index_fry
— Methodrefractive_index_fry(wavelength, salinity, temperature, pressure)
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)
sourceCherenkovMediumBase._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.
sourceCherenkovMediumBase.absorption_length
— Methodabsorption_length(medium::MediumProperties, wavelength)
Return absorption length at wavelength
in units m. wavelength
is expected to be in units nm.
sourceCherenkovMediumBase.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.
sourceCherenkovMediumBase.cherenkov_angle
— Methodcherenkov_angle(medium, wavelength)
Calculate the cherenkov angle (in rad) for wavelength
.
wavelength
is expected to be in units nm.
sourceCherenkovMediumBase.dispersion
— Methoddispersion(disperion_model::AbstractDispersionModel)
Calculate the dispersion for a given dispersion model.
sourceCherenkovMediumBase.dispersion
— Methoddispersion(medium::MediumProperties, wavelength)
Return the dispersion dn/dλ at wavelength
in units 1/nm. wavelength
is expected to be in units nm.
sourceCherenkovMediumBase.dispersion
— Methoddispersion(dispersion_model::QuanFryDispersion, wavelength)
Calculate the dispersion for the Quan & Fry dispersion model.
sourceCherenkovMediumBase.dispersion_fry
— Methoddispersion_fry(
wavelength::T;
salinity::Real,
temperature::Real,
- pressure::Real) where {T <: Real}
Calculate the dispersion (dn/dλ) for the Quan & Fry model. Wavelength is given in nm, salinity in permille, temperature in °C and pressure in atm
sourceCherenkovMediumBase.es_scattering
— Methodes_scattering(cos_theta::T, b::T) where {T<:Real}
Einstein-Smoluchowsky Scattering PDF.
sourceCherenkovMediumBase.es_scattering_cumulative
— Methodes_scattering_integral(cos_theta::T, b::T) where {T<:Real}
Integral of ES scattering function from -1 to cos_theta
sourceCherenkovMediumBase.es_scattering_integral
— Methodes_scattering_integral(cos_theta::T, b::T) where {T<:Real}
Anti-derivative of the ES scattering function.
sourceCherenkovMediumBase.group_refractive_index
— Methodgroup_refractive_index(medium, wavelength)
Return the group refractive index at wavelength
.
wavelength
is expected to be in units nm.
sourceCherenkovMediumBase.group_velocity
— Methodgroup_velocity(medium, wavelength)
Return the group_velocity in m/ns at wavelength
.
wavelength
is expected to be in units nm.
sourceCherenkovMediumBase.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.
sourceCherenkovMediumBase.material_density
— Methodmaterial_density(medium::MediumProperties)
This function returns the material density for a given medium.
sourceCherenkovMediumBase.phase_refractive_index
— Methodphase_refractive_index(disperion_model::AbstractDispersionModel)
Calculate the phase refractive index for a given dispersion model.
sourceCherenkovMediumBase.phase_refractive_index
— Methodphase_refractive_index(medium::MediumProperties, wavelength)
Return the phase refractive index at wavelength
. wavelength
is expected to be in units nm.
sourceCherenkovMediumBase.phase_refractive_index
— Methodphase_refractive_index(disperion_model::QuanFryDispersion, wavelength)
Calculate the phase refractive index for the Quan & Fry dispersion model.
sourceCherenkovMediumBase.pressure
— Methodpressure(medium::MediumProperties)
This function returns the pressure for a given medium.
sourceCherenkovMediumBase.radiation_length
— Methodradiation_length(medium::MediumProperties)
This function returns the radiation length for a given medium.
sourceCherenkovMediumBase.sample_scattering_function
— Methodsample_scattering_function(medium::MediumProperties)
Return a scattering angle sampled from the scattering function of the medium.
sourceCherenkovMediumBase.scattering_length
— Methodscattering_length(model::KopelevichScatteringModel, wavelength::Real)
Calculate the scattering length for the Kopelevich scattering model.
sourceCherenkovMediumBase.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.
sourceCherenkovMediumBase.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
sourceCherenkovMediumBase.temperature
— Methodtemperature(medium::MediumProperties)
This function returns the temperature for a given medium.
sourceSettings
This document was generated with Documenter.jl version 1.8.0 on Thursday 23 January 2025. Using Julia version 1.11.3.
+ pressure::Real) where {T <: Real}
Calculate the dispersion (dn/dλ) for the Quan & Fry model. Wavelength is given in nm, salinity in permille, temperature in °C and pressure in atm
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_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_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 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.