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

 WossMPropagation ()
 
virtual ~WossMPropagation () override=default
 
virtual double getGain (Packet *p) override
 
virtual int command (int argc, const char *const *argv) override
 

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

Constructor & Destructor Documentation

◆ WossMPropagation()

WossMPropagation::WossMPropagation ( )

◆ ~WossMPropagation()

virtual WossMPropagation::~WossMPropagation ( )
overridevirtualdefault

Member Function Documentation

◆ command()

int WossMPropagation::command ( int  argc,
const char *const *  argv 
)
overridevirtual

References command(), std_gain_matrix_name, woss_manager, write_gain_matrix, and writeStdGainMatrix().

Referenced by command().

Here is the call graph for this function:

◆ 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 hdr_woss::already_processed, hdr_woss::attenuation, hdr_woss::frequency, WossPosition::getAltitude(), woss::CoordZ::getCartDistance(), WossPosition::getLatitude(), WossPosition::getLongitude(), woss::Pressure::getTxLossDb(), woss::WossManager::getWossPressure(), insertStdGainMatrix(), woss_manager, and write_gain_matrix.

Referenced by getGain().

Here is the call graph for this function:

◆ getGain()

double WossMPropagation::getGain ( Packet *  p)
overridevirtual

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(), WossPosition::getAltitude(), woss::CoordZ::getCartDistance(), WossPosition::getLatitude(), WossPosition::getLongitude(), insertStdGainMatrix(), and write_gain_matrix.

Here is the call graph for this function:

◆ insertStdGainMatrix()

void WossMPropagation::insertStdGainMatrix ( Position *  sp,
Position *  rp,
double  gain 
)
inlineprivate

References std_gain_map.

Referenced by computeGain(), and getGain().

◆ writeStdGainMatrix()

void WossMPropagation::writeStdGainMatrix ( )
private

References std_gain_map, std_gain_matrix_name, and std_gain_out.

Referenced by command().

Member Data Documentation

◆ std_gain_map

GainMatrix WossMPropagation::std_gain_map
private

◆ std_gain_matrix_name

string WossMPropagation::std_gain_matrix_name
private

Referenced by command(), and writeStdGainMatrix().

◆ std_gain_out

fstream WossMPropagation::std_gain_out
private

Referenced by writeStdGainMatrix().

◆ woss_manager

woss::WossManager* WossMPropagation::woss_manager
private

Referenced by command(), and computeGain().

◆ write_gain_matrix

bool WossMPropagation::write_gain_matrix
private

Referenced by command(), computeGain(), and getGain().


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