World Ocean Simulation System (WOSS) library
WossChannelModule Class Reference

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

#include <uw-woss-channel.h>

Inheritance diagram for WossChannelModule:
Inheritance graph
Collaboration diagram for WossChannelModule:
Collaboration graph

Public Member Functions

 WossChannelModule ()
 
virtual ~WossChannelModule () override=default
 
virtual int command (int argc, const char *const *argv) override
 
virtual void recv (Packet *p, ChSAP *chsap) override
 

Protected Types

using ChSAPVector = std::vector< ChSAP * >
 

Protected Member Functions

double getPropDelay (const woss::CoordZ &s, const woss::CoordZ &d)
 
woss::CoordZPairVect computeCoordZPairVect (ChSAP *dest)
 
woss::SimFreq computeSimFreq (Packet *p)
 
woss::TimeArrVector computeTimeArrVector (const woss::CoordZPairVect &coords, const woss::SimFreq &sim_freq)
 
void checkTimeArrVector (const woss::CoordZPairVect &coords, woss::TimeArrVector &channels)
 
void schedulePacketCopies (const woss::CoordZPairVect &coords, const woss::TimeArrVector &channels, const woss::SimFreq &sim_freq, Packet *p)
 
void deleteChannels (woss::TimeArrVector &channels)
 

Protected Attributes

double channel_eq_snr_threshold_db
 
double channel_symbol_resolution
 
double channel_eq_time
 
double channel_eq_attenuation_db
 
double channel_max_distance
 
woss::WossManagerwoss_manager
 
ChannelEstimatorchannel_estimator
 
Underwater uw
 
ChSAPVector chsap_vector
 

Detailed Description

WossChannelModule class for channel calculations with WOSS.

WossChannelModule extends ChannelModule for channel calculations with WOSS

Member Typedef Documentation

◆ ChSAPVector

using WossChannelModule::ChSAPVector = std::vector< ChSAP* >
protected

Constructor & Destructor Documentation

◆ WossChannelModule()

WossChannelModule::WossChannelModule ( )

◆ ~WossChannelModule()

virtual WossChannelModule::~WossChannelModule ( )
overridevirtualdefault

Member Function Documentation

◆ checkTimeArrVector()

void WossChannelModule::checkTimeArrVector ( const woss::CoordZPairVect coords,
woss::TimeArrVector channels 
)
protected

◆ command()

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

References channel_estimator, and woss_manager.

◆ computeCoordZPairVect()

woss::CoordZPairVect WossChannelModule::computeCoordZPairVect ( ChSAP *  dest)
protected

◆ computeSimFreq()

woss::SimFreq WossChannelModule::computeSimFreq ( Packet *  p)
protected

Referenced by recv().

◆ computeTimeArrVector()

woss::TimeArrVector WossChannelModule::computeTimeArrVector ( const woss::CoordZPairVect coords,
const woss::SimFreq sim_freq 
)
protected

References woss::WossManager::getWossTimeArr(), and woss_manager.

Referenced by recv().

Here is the call graph for this function:

◆ deleteChannels()

void WossChannelModule::deleteChannels ( woss::TimeArrVector channels)
protected

Referenced by recv().

◆ getPropDelay()

double WossChannelModule::getPropDelay ( const woss::CoordZ s,
const woss::CoordZ d 
)
protected

References woss::CoordZ::getDepth(), woss::Coord::getLatitude(), woss::Coord::getLongitude(), and uw.

Referenced by checkTimeArrVector().

Here is the call graph for this function:

◆ recv()

void WossChannelModule::recv ( Packet *  p,
ChSAP *  chsap 
)
overridevirtual

◆ schedulePacketCopies()

void WossChannelModule::schedulePacketCopies ( const woss::CoordZPairVect coords,
const woss::TimeArrVector channels,
const woss::SimFreq sim_freq,
Packet *  p 
)
protected

Member Data Documentation

◆ channel_eq_attenuation_db

double WossChannelModule::channel_eq_attenuation_db
protected

Referenced by checkTimeArrVector(), and recv().

◆ channel_eq_snr_threshold_db

double WossChannelModule::channel_eq_snr_threshold_db
protected

Referenced by recv(), and WossChannelModule().

◆ channel_eq_time

double WossChannelModule::channel_eq_time
protected

◆ channel_estimator

ChannelEstimator* WossChannelModule::channel_estimator
protected

Referenced by checkTimeArrVector(), and command().

◆ channel_max_distance

double WossChannelModule::channel_max_distance
protected

◆ channel_symbol_resolution

double WossChannelModule::channel_symbol_resolution
protected

◆ chsap_vector

ChSAPVector WossChannelModule::chsap_vector
protected

◆ uw

Underwater WossChannelModule::uw
protected

◆ woss_manager

woss::WossManager* WossChannelModule::woss_manager
protected

Referenced by command(), computeTimeArrVector(), and recv().


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