A "volume scattering layer model" computes the environmental parameters of a single volume scattering layer in the ocean.
The modeled properties include the depth, thickness, and reverberation scattering strength of the layer. Depth is defined using the average (center) distance of the layer relative to the center of the earth. Thickness is the full distance from the bottom to the top of the layer.
volume_model | ( | scattering_model * | scatter = NULL |
) | [inline] |
Initialize reflection loss components for a boundary.
scatter | Reverberation scattering strength model |
virtual ~volume_model | ( | ) | [inline, virtual] |
Delete reflection loss model.
virtual void depth | ( | const wposition1 & | location, | |
double * | rho, | |||
double * | thickness = NULL | |||
) | [pure virtual] |
Compute the depth of the layer and it's thickness at a single location.
Often used to process the reverberation for individual collisions with volume scattering layer.
location | Location at which to compute boundary. | |
rho | Depth of layer center in spherical earth coords (output). | |
thickness | Layer thickness (output). |
Implemented in volume_flat.
virtual void depth | ( | const wposition & | location, | |
matrix< double > * | rho, | |||
matrix< double > * | thickness = NULL | |||
) | [pure virtual] |
Compute the depth of the layer and it's thickness at a series of locations.
Often used to detect collisions between ray paths and the volume scattering layer.
location | Location at which to compute boundary. | |
rho | Depth of layer center in spherical earth coords (output). | |
thickness | Layer thickness (output). |
Implemented in volume_flat.
virtual void scattering | ( | const wposition & | location, | |
const seq_vector & | frequencies, | |||
double | de_incident, | |||
matrix< double > | de_scattered, | |||
double | az_incident, | |||
matrix< double > | az_scattered, | |||
matrix< vector< double > > * | amplitude | |||
) | [inline, virtual] |
Computes the broadband scattering strength for a collection of scattering angles from a common incoming ray.
Each scattering has its own location, de_scattered, and az_scattered. The result is a broadband reverberation scattering strength for each scattering.
location | Location at which to compute attenuation. | |
frequencies | Frequencies over which to compute loss. (Hz) | |
de_incident | Depression incident angle (radians). | |
de_scattered | Depression scattered angle (radians). | |
az_incident | Azimuthal incident angle (radians). | |
az_scattered | Azimuthal scattered angle (radians). | |
amplitude | Reverberation scattering strength ratio (output). |
Implements scattering_model.
virtual void scattering | ( | const wposition1 & | location, | |
const seq_vector & | frequencies, | |||
double | de_incident, | |||
double | de_scattered, | |||
double | az_incident, | |||
double | az_scattered, | |||
vector< double > * | amplitude | |||
) | [inline, virtual] |
Computes the broadband scattering strength for a single location.
location | Location at which to compute attenuation. | |
frequencies | Frequencies over which to compute loss. (Hz) | |
de_incident | Depression incident angle (radians). | |
de_scattered | Depression scattered angle (radians). | |
az_incident | Azimuthal incident angle (radians). | |
az_scattered | Azimuthal scattered angle (radians). | |
amplitude | Change in ray strength in dB (output). |
Implements scattering_model.
void scattering | ( | scattering_model * | scattering | ) | [inline] |
Define a new reverberation scattering strength model.
scattering | Scattering model for this layer. |
scattering_model* _scattering [private] |
Reference to the scattering strength model.