WSF
wsf::comm::medium::ModeUnguided Class Reference

A mode implementation for common legacy unguided usage. More...

#include <WsfCommMediumUnguided.hpp>

Inheritance diagram for wsf::comm::medium::ModeUnguided:
Collaboration diagram for wsf::comm::medium::ModeUnguided:

Public Member Functions

 ModeUnguided ()=default
 ModeUnguided (const std::string &aName)
 ~ModeUnguided () override=default
 ModeUnguided (const ModeUnguided &aSrc)=default
ModeUnguidedClone () const override
const char * GetScriptClassName () const override
bool ProcessInput (UtInput &aInput) override
double GetTransmissionTime (double aSimTime, Comm &aXmtr, Layer *aLayerPtr, Message &aMessage) override
bool GetUseXferRateTable () const
double GetBitErrorProbability () const
double GetErrorCorrection () const
bool GetUseBER_EbNoTable () const
Public Member Functions inherited from wsf::comm::medium::ModeGuided
 ModeGuided ()=default
 ModeGuided (const std::string &aName)
 ~ModeGuided () override=default
 ModeGuided (const ModeGuided &aSrc)=default
const char * GetScriptClassName () const override
double GetPropagationTime (double aSimTime, Comm &aXmtr, Comm &aRcvr, Message &aMessage) override
double GetPacketLossTime (double aSimTime, Message &aMessage) override
WsfRandomVariableGetPropagationSpeed ()
WsfRandomVariableGetTransferRate ()
WsfRandomVariableGetDelayTime ()
Public Member Functions inherited from wsf::comm::medium::Mode
 Mode ()=default
 Mode (const std::string &aName)
virtual ~Mode ()=default
 Mode (const Mode &aSrc)=default
const char * GetScriptClassName () const override
const std::string & GetName () const
void SetName (const std::string &aName)

Protected Member Functions

virtual double CalculateTransferRate (Result &aResult, bool aCanSend)

Protected Attributes

UtTable::Curve mSNR_XferRateTable {}
bool mUseSNR_XferRateTable {false}
 When set to true, the medium will utilize the mSNR_XferRateTable to determine transfer rate.
double mBitErrorProbability {0.0}
 The expectation value of the BER (bit error rate) in a message, entered as percentage.
double mErrorCorrection {1.0}
 The value of the Forward Error Correction (FEC) applied to a message to adjust BER and Eb/No, entered as a ratio (dB).
UtTable::Curve mBER_EbNoTable {}
 A table that defines the value of Eb/No versus the Bit Error Rate.
bool mUseBER_EbNoTable {false}
 When set to true, the medium will use the mBER_EbNoTable to determine the message transfer rate.

Detailed Description

A mode implementation for common legacy unguided usage.

Constructor & Destructor Documentation

◆ ModeUnguided() [1/3]

wsf::comm::medium::ModeUnguided::ModeUnguided ( )
default

Referenced by Clone(), and ModeUnguided().

◆ ModeUnguided() [2/3]

wsf::comm::medium::ModeUnguided::ModeUnguided ( const std::string & aName)
inline

◆ ~ModeUnguided()

wsf::comm::medium::ModeUnguided::~ModeUnguided ( )
overridedefault

◆ ModeUnguided() [3/3]

wsf::comm::medium::ModeUnguided::ModeUnguided ( const ModeUnguided & aSrc)
default

References ModeUnguided().

Member Function Documentation

◆ CalculateTransferRate()

◆ Clone()

ModeUnguided * wsf::comm::medium::ModeUnguided::Clone ( ) const
inlineoverridevirtual

Reimplemented from wsf::comm::medium::ModeGuided.

References ModeUnguided().

◆ GetBitErrorProbability()

double wsf::comm::medium::ModeUnguided::GetBitErrorProbability ( ) const
inline

References mBitErrorProbability.

◆ GetErrorCorrection()

double wsf::comm::medium::ModeUnguided::GetErrorCorrection ( ) const
inline

References mErrorCorrection.

◆ GetScriptClassName()

const char * wsf::comm::medium::ModeUnguided::GetScriptClassName ( ) const
inlineoverride

◆ GetTransmissionTime()

double wsf::comm::medium::ModeUnguided::GetTransmissionTime ( double aSimTime,
Comm & aXmtr,
Layer * aLayerPtr,
Message & aMessage )
overridevirtual

◆ GetUseBER_EbNoTable()

bool wsf::comm::medium::ModeUnguided::GetUseBER_EbNoTable ( ) const
inline

References mUseBER_EbNoTable.

◆ GetUseXferRateTable()

bool wsf::comm::medium::ModeUnguided::GetUseXferRateTable ( ) const
inline

References mUseSNR_XferRateTable.

◆ ProcessInput()

bool wsf::comm::medium::ModeUnguided::ProcessInput ( UtInput & aInput)
overridevirtual

Member Data Documentation

◆ mBER_EbNoTable

UtTable::Curve wsf::comm::medium::ModeUnguided::mBER_EbNoTable {}
protected

A table that defines the value of Eb/No versus the Bit Error Rate.

Referenced by CalculateTransferRate(), and ProcessInput().

◆ mBitErrorProbability

double wsf::comm::medium::ModeUnguided::mBitErrorProbability {0.0}
protected

The expectation value of the BER (bit error rate) in a message, entered as percentage.

Referenced by CalculateTransferRate(), GetBitErrorProbability(), and ProcessInput().

◆ mErrorCorrection

double wsf::comm::medium::ModeUnguided::mErrorCorrection {1.0}
protected

The value of the Forward Error Correction (FEC) applied to a message to adjust BER and Eb/No, entered as a ratio (dB).

Referenced by CalculateTransferRate(), GetErrorCorrection(), and ProcessInput().

◆ mSNR_XferRateTable

UtTable::Curve wsf::comm::medium::ModeUnguided::mSNR_XferRateTable {}
protected

A table that can be used to provide the message transfer rate based off of the SNR between the transmitter and receiver using this medium.

Referenced by CalculateTransferRate(), and ProcessInput().

◆ mUseBER_EbNoTable

bool wsf::comm::medium::ModeUnguided::mUseBER_EbNoTable {false}
protected

When set to true, the medium will use the mBER_EbNoTable to determine the message transfer rate.

Referenced by CalculateTransferRate(), GetTransmissionTime(), GetUseBER_EbNoTable(), and ProcessInput().

◆ mUseSNR_XferRateTable

bool wsf::comm::medium::ModeUnguided::mUseSNR_XferRateTable {false}
protected

When set to true, the medium will utilize the mSNR_XferRateTable to determine transfer rate.

Referenced by CalculateTransferRate(), GetTransmissionTime(), GetUseXferRateTable(), and ProcessInput().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved