#include <uwoptical-mpropagation.h>
Class used to represents the UWOPTICAL_MPROPAGATION.
Definition at line 58 of file uwoptical-mpropagation.h.
◆ UwOpticalMPropagation()
UwOpticalMPropagation::UwOpticalMPropagation |
( |
| ) |
|
◆ ~UwOpticalMPropagation()
virtual UwOpticalMPropagation::~UwOpticalMPropagation |
( |
| ) |
|
|
inlinevirtual |
◆ command()
int UwOpticalMPropagation::command |
( |
int |
argc, |
|
|
const char *const * |
argv |
|
) |
| |
|
virtual |
TCL command interpreter.
It implements the following OTcl methods:
- Parameters
-
argc | Number of arguments in argv. |
argv | Array 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.
Definition at line 92 of file uwoptical-mpropagation.cpp.
◆ getBeta()
double UwOpticalMPropagation::getBeta |
( |
Packet * |
p | ) |
|
Provide angle between transmitter and receiver.
- Parameters
-
Packet* | Pointer to the packet that has to be received. |
- Returns
- the angle between transmitter and receiver.
Definition at line 191 of file uwoptical-mpropagation.cpp.
◆ getC()
double UwOpticalMPropagation::getC |
( |
Packet * |
p = NULL | ) |
|
◆ getGain()
double UwOpticalMPropagation::getGain |
( |
Packet * |
p | ) |
|
|
virtual |
Calculate the gain following the Lambert and Beer's law.
- Parameters
-
Packet* | Pointer to the packet that has to be received. |
- Returns
- the gain due to the optical propagation.
Definition at line 269 of file uwoptical-mpropagation.cpp.
◆ getLambertBeerGain()
double UwOpticalMPropagation::getLambertBeerGain |
( |
double |
d, |
|
|
double |
beta_ |
|
) |
| |
|
protectedvirtual |
Calculate the gain following the Lambert and Beer's law.
- Parameters
-
d | Distance between transmitter and receiver. |
beta | inclination angle between the transmitter and the receiver. |
- Returns
- the gain due to the optical propagation.
Definition at line 315 of file uwoptical-mpropagation.cpp.
◆ getLambertBeerGain_variableC()
double UwOpticalMPropagation::getLambertBeerGain_variableC |
( |
double |
beta_, |
|
|
double |
min_depth_, |
|
|
double |
max_depth_ |
|
) |
| |
|
protected |
Calculate the gain following the Lambert and Beer's law in the case of variable c model.
- Parameters
-
beta_ | |
min_depth_ | the max between depth of rx and depth of tx. |
max_depth_ | the min between depth of rx and depth of tx. |
- Returns
- the gain due to the optical propagation in the case of variable c model.
Definition at line 360 of file uwoptical-mpropagation.cpp.
◆ getTemperature()
double UwOpticalMPropagation::getTemperature |
( |
double |
depth | ) |
|
Provide the temperature from LUT.
- Parameters
-
depth | depth of the receiver. |
- Returns
- the temperature at certain depth.
Definition at line 430 of file uwoptical-mpropagation.cpp.
◆ getWossOrientation()
double UwOpticalMPropagation::getWossOrientation |
( |
Position * |
src, |
|
|
Position * |
dest |
|
) |
| |
|
protected |
Calculate the inclination angle between the transmitter and the receiver.
- Parameters
-
src | pointer to the transmitter position. |
dest | pointer to the receiver position. |
- Returns
- the inclination angle between the transmitter and the receiver
Definition at line 174 of file uwoptical-mpropagation.cpp.
◆ initializeLUT()
void UwOpticalMPropagation::initializeLUT |
( |
| ) |
|
|
protectedvirtual |
◆ isOmnidirectional()
bool UwOpticalMPropagation::isOmnidirectional |
( |
| ) |
|
Provide if we are assuming omnidirectional tx and rx or not.
- Returns
- if it is omnidirectional or not.
Definition at line 214 of file uwoptical-mpropagation.cpp.
◆ linearInterpolator()
double UwOpticalMPropagation::linearInterpolator |
( |
double |
x, |
|
|
double |
x1, |
|
|
double |
x2, |
|
|
double |
y1, |
|
|
double |
y2 |
|
) |
| |
|
protected |
Calculate the linear interpolation between two 2-D points.
- Parameters
-
x | x-coordinate of which we need to finde the value. |
x1 | x-coordinate of the first point |
x2 | x-coordinate of the second point |
y1 | y-coordinate of the first point |
y2 | y-coordinate of the second point |
- Returns
- the value assumed by y obtained by linear interpolation
Definition at line 351 of file uwoptical-mpropagation.cpp.
◆ setWoss()
void UwOpticalMPropagation::setWoss |
( |
bool |
flag | ) |
|
|
virtual |
◆ updateC()
void UwOpticalMPropagation::updateC |
( |
double |
d | ) |
|
|
protected |
Set the attenuation coefficient from lookup table when both the nodes are alligned and at the same depth.
- Parameters
-
Definition at line 153 of file uwoptical-mpropagation.cpp.
◆ Ar_
double UwOpticalMPropagation::Ar_ |
|
protected |
◆ At_
double UwOpticalMPropagation::At_ |
|
protected |
◆ c_
double UwOpticalMPropagation::c_ |
|
protected |
◆ debug_
int UwOpticalMPropagation::debug_ |
◆ lut_c_
LUT_c UwOpticalMPropagation::lut_c_ |
|
protected |
Lookup table map of the attenuation coefficient and the temperature versus the depth.
Definition at line 204 of file uwoptical-mpropagation.h.
◆ lut_file_name_
string UwOpticalMPropagation::lut_file_name_ |
|
protected |
◆ lut_token_separator_
char UwOpticalMPropagation::lut_token_separator_ |
|
protected |
◆ omnidirectional_
bool UwOpticalMPropagation::omnidirectional_ |
|
protected |
Flag to set whether the system is omnidirectional or not.
By default it is false
Definition at line 199 of file uwoptical-mpropagation.h.
◆ theta_
double UwOpticalMPropagation::theta_ |
|
protected |
◆ use_woss_
bool UwOpticalMPropagation::use_woss_ |
|
protected |
◆ variable_c_
bool UwOpticalMPropagation::variable_c_ |
|
protected |
Flag to set whether the attenuation is constant or not.
By default it is false
Definition at line 201 of file uwoptical-mpropagation.h.
The documentation for this class was generated from the following files: