The reflect_loss_rayleigh_grid object ingests a data_grid of rayleigh bottom type data and creates a reflect_loss_rayleigh object to create a rayleigh reflection loss value for the bottom type number at a specific location and returns broadband reflection loss and phase change.
reflect_loss_rayleigh_grid | ( | data_grid< double, 2 > * | bottom_type_grid | ) |
Constructor - Loads bottom type data via a data_grid.
Constructor - Creates a reflection_loss_rayleigh object for each rayleigh bottom type value (nine total).
bottom_type_grid | data_grid of bottom_types for locations |
The information stored in "data" member of the data_grid is set to a double with the value from 0 to 8 representing different bottom types.
Also loads bottom type data based on location via a data_grid for later computation on calls to reflect_loss().
bottom_type_grid | data_grid of bottom_type for a location |
The information stored in "data" is set to a double with the value from 1 to the number of different rayleigh bottom types for the profile.
Set the interpolation type to the nearest neighbor and restrict extrapolation
Builds a vector of reflect_loss_rayleigh values for all bottom types
~reflect_loss_rayleigh_grid | ( | ) | [virtual] |
Destructor.
Destructor - Iterates over the rayleigh reflection loss values and deletes them.
void reflect_loss | ( | const wposition1 & | location, | |
const seq_vector & | frequencies, | |||
double | angle, | |||
vector< double > * | amplitude, | |||
vector< double > * | phase = NULL | |||
) | [virtual] |
Gets a rayleigh bottom type value at a specific location then computes the broadband reflection loss and phase change.
location | Location at which to compute attenuation. | |
frequencies | Frequencies over which to compute loss. (Hz) | |
angle | Reflection angle relative to the normal (radians). | |
amplitude | Change in ray strength in dB (output). | |
phase | Change in ray phase in radians (output). Phase change not computed if this is NULL. |
Implements reflect_loss_model.
data_grid<double, 2>* _bottom_grid [private] |
Data grid that stores all of the bottom province information.
std::vector<reflect_loss_rayleigh*> _rayleigh [private] |
Stored rayleigh models for bottom reflections.