40#ifndef PRESSURE_DEFINITIONS_H
41#define PRESSURE_DEFINITIONS_H
76 Pressure( const ::std::complex<double>& complex_press );
148 static const ::std::complex<double>
createNotValid() {
return( ::std::complex<double>( HUGE_VAL, HUGE_VAL ) ); }
194 static double getTxLossDb( const ::std::complex<double>& val ) {
if ( val == ::std::complex<double>( HUGE_VAL, HUGE_VAL ) )
return -HUGE_VAL;
195 else if( val == ::std::complex<double>( 0.0, 0.0 ) )
return HUGE_VAL;
196 else return( -20.0 * log10( ::std::abs(val) ) ); }
203 if (
isValid() ==
false)
return -HUGE_VAL;
204 else if (
complex_pressure == ::std::complex<double>( 0.0, 0.0 ) )
return HUGE_VAL;
205 else return ( -20.0 * log10(
abs() ));
361 if ( &left == &right )
return true;
367 if ( &left == &right )
return false;
bool operator!=(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.h:846
std::ostream & operator<<(std::ostream &os, const Altimetry &instance)
Definition altimetry-definitions.h:826
Altimetry & operator*=(Altimetry &left, double right)
Definition altimetry-definitions.cpp:367
const Altimetry operator/(const Altimetry &left, const double right)
Definition altimetry-definitions.cpp:285
bool operator==(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.h:840
Altimetry & operator+=(Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.cpp:327
const Altimetry operator+(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.cpp:257
const Altimetry operator*(const Altimetry &left, const double right)
Definition altimetry-definitions.cpp:292
Altimetry & operator-=(Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.cpp:335
const Altimetry operator-(const Altimetry &left, const Altimetry &right)
Definition altimetry-definitions.cpp:264
Altimetry & operator/=(Altimetry &left, double right)
Definition altimetry-definitions.cpp:359
Complex attenuated pressure class.
Definition pressure-definitions.h:59
friend const Pressure operator+(const Pressure &left, const Pressure &right)
Definition pressure-definitions.h:372
virtual Pressure * clone() const
Definition pressure-definitions.h:124
::std::complex< double > complex_pressure
Definition pressure-definitions.h:338
friend const Pressure operator*(const Pressure &left, const Pressure &right)
Definition pressure-definitions.h:387
friend Pressure & operator+=(Pressure &left, const Pressure &right)
Definition pressure-definitions.h:392
Pressure & operator=(const Pressure &x)
Definition pressure-definitions.cpp:79
static void setDebug(bool flag)
Definition pressure-definitions.h:223
double getThorpAtt(double frequency)
Definition pressure-definitions.cpp:114
virtual Pressure * create(double real=0.0, double imag=0.0) const
Definition pressure-definitions.h:97
static bool debug
Definition pressure-definitions.h:332
Pressure sqrt() const
Definition pressure-definitions.h:180
virtual Pressure * create(const TimeArr &time_arr) const
Definition pressure-definitions.h:111
friend Pressure & operator/=(Pressure &left, const Pressure &right)
Definition pressure-definitions.h:404
friend Pressure & operator*=(Pressure &left, const Pressure &right)
Definition pressure-definitions.h:410
static double getTxLossDb(const ::std::complex< double > &val)
Definition pressure-definitions.h:194
virtual Pressure * create(const Pressure ©) const
Definition pressure-definitions.h:118
virtual bool isValid() const
Definition pressure-definitions.h:187
friend const Pressure operator-(const Pressure &left, const Pressure &right)
Definition pressure-definitions.h:377
friend bool operator!=(const Pressure &left, const Pressure &right)
Definition pressure-definitions.h:366
friend const Pressure operator/(const Pressure &left, const Pressure &right)
Definition pressure-definitions.h:382
double real() const
Definition pressure-definitions.h:155
double abs() const
Definition pressure-definitions.h:168
double phase() const
Definition pressure-definitions.h:174
friend::std::ostream & operator<<(::std::ostream &os, const Pressure &instance)
virtual bool checkAttenuation(double distance, double frequency)
Definition pressure-definitions.cpp:86
friend bool operator==(const Pressure &left, const Pressure &right)
Definition pressure-definitions.h:360
static const ::std::complex< double > createNotValid()
Definition pressure-definitions.h:148
virtual double getAttenuation(double dist, double freq)
Definition pressure-definitions.cpp:102
friend Pressure & operator-=(Pressure &left, const Pressure &right)
Definition pressure-definitions.h:398
double imag() const
Definition pressure-definitions.h:161
virtual Pressure * createArray(unsigned int array_size) const
Definition pressure-definitions.h:131
double getTxLossDb() const
Definition pressure-definitions.h:202
virtual Pressure * create(const ::std::complex< double > &complex_press) const
Definition pressure-definitions.h:104
Pressure(const ::std::complex< double > &complex_press)
Channel power delay profile class.
Definition time-arrival-definitions.h:82