|
World Ocean Simulation System (WOSS) library
|
simple template extension of WossManagerResDb or WossManagerResDbMT More...
#include <woss-manager-simple.h>


Public Member Functions | |
| WossManagerSimple () | |
| virtual | ~WossManagerSimple () override=default |
| virtual WossManagerSimple & | eraseActiveWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency) override |
| virtual bool | reset () override |
| virtual bool | timeEvolve (const Time &time_value) override |
| Public Member Functions inherited from woss::WossManagerResDb | |
| 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 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) |
| 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 |
Static Public Member Functions | |
| static void | setSpaceSampling (double radius) |
| static double | getSpaceSampling () |
Protected Types | |
| using | WossCoordZMap = typename std::map< CoordZ, std::shared_ptr<Woss>, CoordComparator< WossManagerSimple, CoordZ > > |
| using | WCZIter = typename WossCoordZMap::iterator |
| using | WCZRIter = typename WossCoordZMap::reverse_iterator |
| using | WossContainer = typename std::map< CoordZ, WossCoordZMap, CoordComparator< WossManagerSimple, CoordZ > > |
| using | WCIter = typename WossContainer::iterator |
| using | WCRIter = typename WossContainer::reverse_iterator |
Protected Member Functions | |
| virtual std::shared_ptr< Woss > | getWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency) override |
| Protected Member Functions inherited from woss::WossManagerResDb | |
| 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 Attributes | |
| WossContainer | woss_map |
| Protected Attributes inherited from woss::WossManagerResDb | |
| 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 |
Static Protected Attributes | |
| static double | space_sampling |
| Static Protected Attributes inherited from woss::WossManager | |
| static const Time | NO_EVOLUTION_TIME = {1, 1, 1901 , 1, 1, 1} |
simple template extension of WossManagerResDb or WossManagerResDbMT
WossManagerSimple is a simple but functional template extension of WossManagerResDb or WossManagerResDbMT. It creates a Woss for every tx-rx pair. No memory management is done. In simulation with high mobility rate, a Woss for every receiver will be created everytime a transmitter will move, without removing old objects. If a memory management is needed, the user should extend this class to suit his needs.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Map that links a transmitter CoordZ to a WossCoordZMap
|
protected |
| woss::WossManagerSimple< WMResDb >::WossManagerSimple | ( | ) |
WossManagerSimple default constructor
References woss_map.
Referenced by eraseActiveWoss(), and ~WossManagerSimple().
|
overridevirtualdefault |
|
overridevirtual |
Deletes a woss::Woss object for given params
| 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] |
Implements woss::WossManager.
References woss_map, and WossManagerSimple().

|
inlinestatic |
Gets the radius in meters of a cartesian sphere, in which all coordinates are considered to be equivalent
References space_sampling.
|
overrideprotectedvirtual |
Returns a pointer to a properly initialized Woss, for storage purposes
| 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] |
Implements woss::WossManager.
References woss::WossManager::woss_creator, and woss_map.
|
overridevirtual |
Deletes all created Woss instances
Implements woss::WossManager.
References woss_map.
|
inlinestatic |
Sets the radius in meters of a cartesian sphere, in which all coordinates are considered to be equivalent
| radius | radius >= 0.0 in meters |
References space_sampling.
|
overridevirtual |
Performs a time evoulion of all time-dependant parameters of all created Woss instances
| time_value | const reference to a valid Time object |
Implements woss::WossManager.
References woss_map.
|
staticprotected |
The radius in meters (>= 0.0) of a cartesian sphere, in which all coordinates are considered to be equivalent
Referenced by getSpaceSampling(), and setSpaceSampling().
|
protected |
Map containing all created Woss objects
Referenced by eraseActiveWoss(), getWoss(), reset(), timeEvolve(), and WossManagerSimple().