|
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 | |
| WossManagerResDb () | |
| virtual | ~WossManagerResDb () override=default |
| virtual std::unique_ptr< Pressure > | getWossPressure (const CoordZ &tx_coordz, const CoordZ &rx_coordz, double start_frequency, double end_frequency, const Time &time_value) override |
| virtual std::unique_ptr< TimeArr > | getWossTimeArr (const CoordZ &tx_coordz, const CoordZ &rx_coordz, double start_frequency, double end_frequency, const Time &time_value) override |
| WossManagerResDb & | setWossDbManager (const std::shared_ptr< WossDbManager > &ptr) |
Public Member Functions inherited from woss::WossManager | |
| WossManager () | |
| virtual | ~WossManager ()=default |
| virtual std::shared_ptr< Woss > | getActiveWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency) |
| virtual WossManager & | eraseActiveWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency)=0 |
| virtual std::unique_ptr< 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 std::unique_ptr< 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 std::shared_ptr< WossCreator > &ptr) |
| void | setTimeEvolutionActiveFlag (bool flag) |
| void | setDebugFlag (bool flag) |
| std::shared_ptr< WossCreator > | getWossCreator () const |
| bool | getTimeEvolutionActiveFlag () const |
| bool | getDebugFlag () const |
Protected Member Functions | |
| std::unique_ptr< 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 |
| std::unique_ptr< 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 std::shared_ptr< Woss > | getWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency)=0 |
Protected Attributes | |
| std::shared_ptr< WossDbManager > | woss_db_manager |
Protected Attributes inherited from woss::WossManager | |
| std::shared_ptr< 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 = {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
| WossManagerResDb::WossManagerResDb | ( | ) |
|
overridevirtualdefault |
|
inlineprotected |
Returns a unique_ptr<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::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::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_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_db_manager.
Referenced by getWossTimeArr(), and woss::WossManagerResDbMT::getWossTimeArr().
|
overridevirtual |
Returns a valid unique_ptr<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 dbGetPressure(), dbInsertPressure(), woss::WossManager::debug, woss::CoordZ::getCartDistance(), woss::CoordZ::getDepth(), woss::WossManager::getWoss(), woss::Singleton< T >::instance(), woss::WossManager::is_time_evolution_active, woss::WossManager::NO_EVOLUTION_TIME, and woss::WossManager::woss_creator.
Referenced by woss::WossManagerResDbMT::getWossPressure().

|
overridevirtual |
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 | const reference to a valid Time& object |
Implements woss::WossManager.
Reimplemented in woss::WossManagerResDbMT.
References woss::TimeArr::createImpulse(), dbGetTimeArr(), dbInsertTimeArr(), woss::WossManager::debug, woss::CoordZ::getCartDistance(), woss::CoordZ::getDepth(), woss::Coord::getGreatCircleDistance(), woss::WossManager::getWoss(), woss::Singleton< T >::instance(), woss::WossManager::is_time_evolution_active, woss::WossManager::NO_EVOLUTION_TIME, and woss::WossManager::woss_creator.
Referenced by woss::WossManagerResDbMT::getWossTimeArr().

|
inline |
Sets a std::shared_ptr to a WossDbManager instance, for db query purposes
| ptr | const pointer to a const WossDbManager instance |
References woss_db_manager.
|
protected |
Const pointer to a WossDbManager
Referenced by dbGetPressure(), dbGetTimeArr(), dbInsertPressure(), dbInsertTimeArr(), and setWossDbManager().