DESERT 4.0.0
UwOpticalPhy Class Reference

#include <uwoptical-phy.h>

Inheritance diagram for UwOpticalPhy:
Inheritance graph
Collaboration diagram for UwOpticalPhy:
Collaboration graph

Public Member Functions

 UwOpticalPhy ()
 
virtual ~UwOpticalPhy ()
 
virtual int command (int, const char *const *)
 
virtual void startRx (Packet *p)
 
virtual double getSNRdB (Packet *p)
 
virtual void endRx (Packet *p)
 
virtual double getNoisePower (Packet *p)
 

Protected Member Functions

virtual double lookUpLightNoiseE (double depth)
 
virtual double linearInterpolator (double x, double x1, double y1, double x2, double y2)
 
virtual void initializeLUT ()
 
double getVarTemperature (Packet *p)
 

Protected Attributes

bool use_woss_
 

Private Attributes

double Id
 
double Il
 
double R
 
double S
 
double T
 
double Ar_
 
string lut_file_name_
 
char lut_token_separator_
 
DepthMap lut_map
 
bool variable_temperature_
 

Constructor & Destructor Documentation

◆ UwOpticalPhy()

UwOpticalPhy::UwOpticalPhy ( )

Constructor of UwMultiPhy class.

References Ar_, Id, Il, R, S, and T.

◆ ~UwOpticalPhy()

virtual UwOpticalPhy::~UwOpticalPhy ( )
inlinevirtual

Destructor of UwMultiPhy class.

Member Function Documentation

◆ command()

int UwOpticalPhy::command ( int  argc,
const char *const *  argv 
)
virtual

TCL command interpreter. It implements the following OTcl methods:

Parameters
argcNumber of arguments in argv.
argvArray of strings which are the command parameters (Note that argv[0] is the name of the object).
Returns
TCL_OK or TCL_ERROR whether the command has been dispatched successfully or not.

Reimplemented in UwOpticalBeamPattern.

References initializeLUT(), lut_file_name_, lut_token_separator_, use_woss_, and variable_temperature_.

Referenced by UwOpticalBeamPattern::command().

Here is the call graph for this function:

◆ endRx()

void UwOpticalPhy::endRx ( Packet *  p)
virtual

◆ getNoisePower()

double UwOpticalPhy::getNoisePower ( Packet *  p)
virtual

References Ar_, getVarTemperature(), Id, Il, K, lookUpLightNoiseE(), lut_map, q, R, S, T, use_woss_, and variable_temperature_.

Here is the call graph for this function:

◆ getSNRdB()

double UwOpticalPhy::getSNRdB ( Packet *  p)
virtual

References S.

Referenced by startRx().

◆ getVarTemperature()

double UwOpticalPhy::getVarTemperature ( Packet *  p)
protected

References use_woss_.

Referenced by getNoisePower().

◆ initializeLUT()

void UwOpticalPhy::initializeLUT ( )
protectedvirtual

Inizialize LUT of c_variable values

Reimplemented in UwOpticalBeamPattern.

References lut_file_name_, lut_map, and lut_token_separator_.

Referenced by command(), and UwOpticalBeamPattern::initializeLUT().

◆ linearInterpolator()

double UwOpticalPhy::linearInterpolator ( double  x,
double  x1,
double  y1,
double  x2,
double  y2 
)
protectedvirtual

◆ lookUpLightNoiseE()

double UwOpticalPhy::lookUpLightNoiseE ( double  depth)
protectedvirtual

References linearInterpolator(), and lut_map.

Referenced by UwOpticalBeamPattern::getMaxTxRange(), and getNoisePower().

Here is the call graph for this function:

◆ startRx()

void UwOpticalPhy::startRx ( Packet *  p)
virtual

Reimplemented in UwOpticalBeamPattern.

References getSNRdB().

Here is the call graph for this function:

Member Data Documentation

◆ Ar_

double UwOpticalPhy::Ar_
private

Referenced by getNoisePower(), and UwOpticalPhy().

◆ Id

double UwOpticalPhy::Id
private

Referenced by getNoisePower(), and UwOpticalPhy().

◆ Il

double UwOpticalPhy::Il
private

Referenced by getNoisePower(), and UwOpticalPhy().

◆ lut_file_name_

string UwOpticalPhy::lut_file_name_
private

Referenced by command(), and initializeLUT().

◆ lut_map

DepthMap UwOpticalPhy::lut_map
private

Lookup table map of the solar noise versus the depth

Referenced by getNoisePower(), initializeLUT(), and lookUpLightNoiseE().

◆ lut_token_separator_

char UwOpticalPhy::lut_token_separator_
private

Referenced by command(), and initializeLUT().

◆ R

double UwOpticalPhy::R
private

Referenced by getNoisePower(), and UwOpticalPhy().

◆ S

double UwOpticalPhy::S
private

◆ T

double UwOpticalPhy::T
private

Referenced by getNoisePower(), and UwOpticalPhy().

◆ use_woss_

◆ variable_temperature_

bool UwOpticalPhy::variable_temperature_
private

Flag to set whether the temperature is costant or varialbe with the depth

Referenced by command(), and getNoisePower().


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