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()

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_manager.

Referenced by recv().

◆ 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

◆ 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

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