World Ocean Simulation System (WOSS) library
WossMPropagation Class Reference

UnderwaterMPropagation class for channel calculations with WOSS. More...

#include <uw-woss-mpropagation.h>

Inheritance diagram for WossMPropagation:
Inheritance graph
Collaboration diagram for WossMPropagation:
Collaboration graph

Public Member Functions

virtual double getGain (Packet *p)
 
virtual int command (int argc, const char *const *argv)
 

Private Member Functions

void insertStdGainMatrix (Position *sp, Position *rp, double gain)
 
double computeGain (Packet *p)
 
void writeStdGainMatrix ()
 

Private Attributes

woss::WossManagerwoss_manager
 
GainMatrix std_gain_map
 
bool write_gain_matrix
 
fstream std_gain_out
 
string std_gain_matrix_name
 

Detailed Description

UnderwaterMPropagation class for channel calculations with WOSS.

WossMPropagation extends UnderwaterMPropagation for channel calculations with WOSS

Member Function Documentation

◆ computeGain()

double WossMPropagation::computeGain ( Packet *  p)
private

Provides attenuation calculation with WOSS framework

Parameters
ppointer to the current Packet being processed
Returns
gain in uPa

References woss::Pressure::abs(), hdr_woss::already_processed, hdr_woss::attenuation, woss::Pressure::checkAttenuation(), hdr_woss::frequency, woss::Pressure::getAttenuation(), woss::CoordZ::getCartDistance(), WossPosition::getLatitude(), WossPosition::getLongitude(), woss::Pressure::getTxLossDb(), and woss::WossManager::getWossPressure().

Referenced by getGain().

Here is the call graph for this function:

◆ getGain()

double WossMPropagation::getGain ( Packet *  p)
virtual

Checks if a WossChannelModule has already processed current Packet; if not, it provides calculations

Parameters
ppointer to the current Packet being processed
Returns
gain in uPa

References hdr_woss::already_processed, hdr_woss::attenuation, computeGain(), woss::CoordZ::getCartDistance(), WossPosition::getLatitude(), and WossPosition::getLongitude().

Here is the call graph for this function:

The documentation for this class was generated from the following files: