World Ocean Simulation System (WOSS) library
|
Abstract class that implements WossManager. It adds computed results dbs control. More...
#include <woss-manager.h>
Public Member Functions | |
virtual Pressure * | getWossPressure (const CoordZ &tx_coordz, const CoordZ &rx_coordz, double start_frequency, double end_frequency, const Time &time_value) |
virtual TimeArr * | getWossTimeArr (const CoordZ &tx_coordz, const CoordZ &rx_coordz, double start_frequency, double end_frequency, const Time &time_value) |
WossManagerResDb & | setWossDbManager (const WossDbManager *const ptr) |
Public Member Functions inherited from woss::WossManager | |
WossManager () | |
virtual const Woss & | getActiveWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency) const |
virtual WossManager & | eraseActiveWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency)=0 |
virtual Pressure * | getWossPressure (const CoordZ &tx_coordz, const CoordZ &rx_coordz, double start_frequency, double end_frequency, double time_value=0.0) |
virtual PressureVector | getWossPressure (const CoordZPairVect &coordinates, double start_frequency, double end_frequency, const Time &time_value) |
virtual PressureVector | getWossPressure (const CoordZPairVect &coordinates, double start_frequency, double end_frequency, double time_value=0.0) |
virtual TimeArr * | getWossTimeArr (const CoordZ &tx_coordz, const CoordZ &rx_coordz, double start_frequency, double end_frequency, double time_value=0.0) |
virtual TimeArrVector | getWossTimeArr (const CoordZPairVect &coordinates, double start_frequency, double end_frequency, const Time &time_value) |
virtual TimeArrVector | getWossTimeArr (const CoordZPairVect &coordinates, double start_frequency, double end_frequency, double time_value=0.0) |
virtual bool | reset ()=0 |
virtual bool | timeEvolve (const Time &time_value)=0 |
WossManager & | setWossCreator (const WossCreator *const ptr) |
void | setTimeEvolutionActiveFlag (bool flag) |
void | setDebugFlag (bool flag) |
const WossCreator *const | getWossCreator () |
bool | getTimeEvolutionActiveFlag () |
bool | getDebugFlag () |
Protected Member Functions | |
TimeArr * | dbGetTimeArr (const CoordZ &tx, const CoordZ &rx, double frequency, const Time &time_value) const |
void | dbInsertTimeArr (const CoordZ &tx, const CoordZ &rx, double frequency, const Time &time_value, const TimeArr &channel) const |
Pressure * | dbGetPressure (const CoordZ &tx, const CoordZ &rx, double frequency, const Time &time_value) const |
void | dbInsertPressure (const CoordZ &tx, const CoordZ &rx, double frequency, const Time &time_value, const Pressure &press) const |
Protected Member Functions inherited from woss::WossManager | |
virtual Woss *const | getWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency)=0 |
Protected Attributes | |
const WossDbManager * | woss_db_manager |
Protected Attributes inherited from woss::WossManager | |
const WossCreator * | woss_creator |
bool | debug |
bool | is_time_evolution_active |
Additional Inherited Members | |
Static Protected Attributes inherited from woss::WossManager | |
static const Time | NO_EVOLUTION_TIME = Time(1,1,1901,1,1,1) |
Abstract class that implements WossManager. It adds computed results dbs control.
WossManagerResDb adds control over optional computed dbs control. If dbs are present and valid requested TimeArr or Pressure is returned, no channel simulator is run
|
inlineprotected |
Returns a Pressure* from a WossPressureDb for given parameters. User is responsible of pointer's ownership
tx | const reference to a valid CoordZ object ( transmitter ) |
rx | const reference to a valid CoordZ object ( receiver ) |
frequency | frequency [Hz] |
time_value | const reference to a valid Time oject |
References woss::Pressure::createNotValid(), woss::WossDbManager::getPressure(), woss::Singleton< T >::instance(), and woss_db_manager.
Referenced by getWossPressure(), and woss::WossManagerResDbMT::getWossPressure().
|
inlineprotected |
Returns a TimeArr* from a WossResTimeArrDb for given parameters. User is responsible of pointer's ownership
tx | const reference to a valid CoordZ object ( transmitter ) |
rx | const reference to a valid CoordZ object ( receiver ) |
frequency | frequency [Hz] |
time_value | const reference to a valid Time oject |
References woss::TimeArr::createNotValid(), woss::WossDbManager::getTimeArr(), woss::Singleton< T >::instance(), and woss_db_manager.
Referenced by getWossTimeArr(), and woss::WossManagerResDbMT::getWossTimeArr().
|
inlineprotected |
Inserts a Pressure in a WossResPressureDb
tx | const reference to a valid CoordZ object ( transmitter ) |
rx | const reference to a valid CoordZ object ( receiver ) |
frequency | frequency [Hz] |
time_value | const reference to a valid Time oject |
press | const reference to a valid Pressure to be inserted |
References woss::WossDbManager::insertPressure(), and woss_db_manager.
Referenced by getWossPressure(), and woss::WossManagerResDbMT::getWossPressure().
|
inlineprotected |
Inserts a TimeArr in a WossResTimeArrDb
tx | const reference to a valid CoordZ object ( transmitter ) |
rx | const reference to a valid CoordZ object ( receiver ) |
frequency | frequency [Hz] |
time_value | const reference to a valid Time oject |
channel | const reference to a valid TimeArr to be inserted |
References woss::WossDbManager::insertTimeArr(), and woss_db_manager.
Referenced by getWossTimeArr(), and woss::WossManagerResDbMT::getWossTimeArr().
|
virtual |
Returns a valid Pressure for given parameters
tx | const reference to a valid CoordZ object ( transmitter ) |
rx | const reference to a valid CoordZ object ( receiver ) |
start_freq | start frequency [Hz] |
end_freq | end frequency [Hz] |
time_value | const reference to a valid Time object |
Implements woss::WossManager.
Reimplemented in woss::WossManagerResDbMT.
References woss::TimeArr::clear(), woss::Pressure::create(), woss::TimeArr::create(), dbGetPressure(), dbInsertPressure(), woss::WossManager::debug, woss::Woss::freq_lower_bound(), woss::Woss::getAvgPressure(), woss::CoordZ::getCartDistance(), woss::CoordZ::getDepth(), woss::WossCreator::getFrequencyStep(), woss::WossManager::getWoss(), woss::Singleton< T >::instance(), woss::Pressure::isValid(), woss::TimeArr::isValid(), woss::Woss::run(), woss::Woss::timeEvolve(), and woss::WossManager::woss_creator.
Referenced by woss::WossManagerResDbMT::getWossPressure().
|
virtual |
Returns a valid Pressure for given parameters
tx | const reference to a valid CoordZ object ( transmitter ) |
rx | const reference to a valid CoordZ object ( receiver ) |
start_freq | start frequency [Hz] |
end_freq | end frequency [Hz] |
time_value | number of seconds after start time |
tx | const reference to a valid CoordZ object ( transmitter ) |
rx | const reference to a valid CoordZ object ( receiver ) |
start_freq | start frequency [Hz] |
end_freq | end frequency [Hz] |
time_value | const reference to a valid Time& object |
Implements woss::WossManager.
Reimplemented in woss::WossManagerResDbMT.
References woss::TimeArr::clear(), woss::TimeArr::createImpulse(), dbGetTimeArr(), dbInsertTimeArr(), woss::WossManager::debug, woss::Woss::freq_lower_bound(), woss::CoordZ::getCartDistance(), woss::CoordZ::getDepth(), woss::WossCreator::getFrequencyStep(), woss::Coord::getGreatCircleDistance(), woss::Woss::getTimeArr(), woss::WossManager::getWoss(), woss::Singleton< T >::instance(), woss::TimeArr::isValid(), woss::Woss::run(), woss::Woss::timeEvolve(), and woss::WossManager::woss_creator.
Referenced by woss::WossManagerResDbMT::getWossTimeArr().
|
inline |
Returns a valid TimeArr for given parameters
tx | const reference to a valid CoordZ object ( transmitter ) |
rx | const reference to a valid CoordZ object ( receiver ) |
start_freq | start frequency [Hz] |
end_freq | end frequency [Hz] |
time_value | number of seconds after start time |
ptr | const pointer to a const WossDbManager instance |
References woss_db_manager.
Referenced by woss::WossController::initialize().
|
protected |
Const pointer to a WossDbManager
Referenced by dbGetPressure(), dbGetTimeArr(), dbInsertPressure(), dbInsertTimeArr(), and setWossDbManager().