World Ocean Simulation System (WOSS) library
woss::WossManagerSimple< WMResDb > Class Template Reference

simple template extension of WossManagerResDb or WossManagerResDbMT More...

#include <woss-manager-simple.h>

Inheritance diagram for woss::WossManagerSimple< WMResDb >:
Inheritance graph
Collaboration diagram for woss::WossManagerSimple< WMResDb >:
Collaboration graph

Public Member Functions

 WossManagerSimple ()
 
virtual WossManagerSimpleeraseActiveWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency)
 
virtual bool reset ()
 
virtual bool timeEvolve (const Time &time_value)
 
- Public Member Functions inherited from woss::WossManagerResDb
virtual PressuregetWossPressure (const CoordZ &tx_coordz, const CoordZ &rx_coordz, double start_frequency, double end_frequency, const Time &time_value)
 
virtual TimeArrgetWossTimeArr (const CoordZ &tx_coordz, const CoordZ &rx_coordz, double start_frequency, double end_frequency, const Time &time_value)
 
WossManagerResDbsetWossDbManager (const WossDbManager *const ptr)
 
- Public Member Functions inherited from woss::WossManager
 WossManager ()
 
virtual const WossgetActiveWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency) const
 
virtual PressuregetWossPressure (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 TimeArrgetWossTimeArr (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)
 
WossManagersetWossCreator (const WossCreator *const ptr)
 
void setTimeEvolutionActiveFlag (bool flag)
 
void setDebugFlag (bool flag)
 
const WossCreator *const getWossCreator ()
 
bool getTimeEvolutionActiveFlag ()
 
bool getDebugFlag ()
 

Static Public Member Functions

static void setSpaceSampling (double radius)
 
static double getSpaceSampling ()
 

Protected Types

typedef ::std::map< CoordZ, Woss *, CoordComparator< WossManagerSimple, CoordZ > > WossCoordZMap
 
typedef WossCoordZMap::iterator WCZIter
 
typedef WossCoordZMap::reverse_iterator WCZRIter
 
typedef ::std::map< CoordZ, WossCoordZMap, CoordComparator< WossManagerSimple, CoordZ > > WossContainer
 
typedef WossContainer::iterator WCIter
 
typedef WossContainer::reverse_iterator WCRIter
 

Protected Member Functions

virtual Woss *const getWoss (const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency)
 
- Protected Member Functions inherited from woss::WossManagerResDb
TimeArrdbGetTimeArr (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
 
PressuredbGetPressure (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
const WossDbManagerwoss_db_manager
 
- Protected Attributes inherited from woss::WossManager
const WossCreatorwoss_creator
 
bool debug
 
bool is_time_evolution_active
 

Static Protected Attributes

static double space_sampling = 0.0
 
- Static Protected Attributes inherited from woss::WossManager
static const Time NO_EVOLUTION_TIME = Time(1,1,1901,1,1,1)
 

Detailed Description

template<typename WMResDb = WossManagerResDb>
class woss::WossManagerSimple< WMResDb >

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.

Member Typedef Documentation

◆ WossContainer

template<typename WMResDb = WossManagerResDb>
typedef ::std::map< CoordZ, WossCoordZMap, CoordComparator< WossManagerSimple, CoordZ > > woss::WossManagerSimple< WMResDb >::WossContainer
protected

Map that links a transmitter CoordZ to a WossCoordZMap

◆ WossCoordZMap

template<typename WMResDb = WossManagerResDb>
typedef ::std::map< CoordZ, Woss*, CoordComparator< WossManagerSimple, CoordZ > > woss::WossManagerSimple< WMResDb >::WossCoordZMap
protected

Map that links a receiver CoordZ to a pointer to a valid Woss object

Constructor & Destructor Documentation

◆ WossManagerSimple()

template<typename WMResDb >
woss::WossManagerSimple< WMResDb >::WossManagerSimple ( )

WossManagerSimple default constructor

Member Function Documentation

◆ eraseActiveWoss()

template<typename WMResDb >
WossManagerSimple< WMResDb > & woss::WossManagerSimple< WMResDb >::eraseActiveWoss ( const CoordZ tx,
const CoordZ rx,
double  start_frequency,
double  end_frequency 
)
virtual

Deletes a woss::Woss object for given params

Parameters
txconst reference to a valid CoordZ object ( transmitter )
rxconst reference to a valid CoordZ object ( receiver )
start_freqstart frequency [Hz]
end_freqend frequency [Hz]
Returns
reference to *this

Implements woss::WossManager.

◆ getSpaceSampling()

template<typename WMResDb = WossManagerResDb>
static double woss::WossManagerSimple< WMResDb >::getSpaceSampling ( )
inlinestatic

Gets the radius in meters of a cartesian sphere, in which all coordinates are considered to be equivalent

Returns
radius in meters

References woss::WossManagerSimple< WMResDb >::space_sampling.

◆ getWoss()

template<typename WMResDb >
Woss *const woss::WossManagerSimple< WMResDb >::getWoss ( const CoordZ tx,
const CoordZ rx,
double  start_frequency,
double  end_frequency 
)
protectedvirtual

Returns a pointer to a properly initialized Woss, for storage purposes

Parameters
txconst reference to a valid CoordZ object ( transmitter )
rxconst reference to a valid CoordZ object ( receiver )
start_freqstart frequency [Hz]
end_freqend frequency [Hz]
Returns
pointer to a valid Woss object

Implements woss::WossManager.

◆ reset()

template<typename WMResDb >
bool woss::WossManagerSimple< WMResDb >::reset ( )
virtual

Deletes all created Woss instances

Returns
true if method was successful, false otherwise

Implements woss::WossManager.

◆ setSpaceSampling()

template<typename WMResDb = WossManagerResDb>
static void woss::WossManagerSimple< WMResDb >::setSpaceSampling ( double  radius)
inlinestatic

Sets the radius in meters of a cartesian sphere, in which all coordinates are considered to be equivalent

Parameters
radiusradius >= 0.0 in meters

References woss::WossManagerSimple< WMResDb >::space_sampling.

◆ timeEvolve()

template<typename WMResDb >
bool woss::WossManagerSimple< WMResDb >::timeEvolve ( const Time time_value)
virtual

Performs a time evoulion of all time-dependant parameters of all created Woss instances

Parameters
time_valueconst reference to a valid Time object
Returns
true if method was successful, false otherwise

Implements woss::WossManager.

Member Data Documentation

◆ space_sampling

template<typename WMResDb >
double woss::WossManagerSimple< WMResDb >::space_sampling = 0.0
staticprotected

The radius in meters (>= 0.0) of a cartesian sphere, in which all coordinates are considered to be equivalent

Referenced by woss::WossManagerSimple< WMResDb >::getSpaceSampling(), and woss::WossManagerSimple< WMResDb >::setSpaceSampling().

◆ woss_map

template<typename WMResDb = WossManagerResDb>
WossContainer woss::WossManagerSimple< WMResDb >::woss_map
protected

Map containing all created Woss objects


The documentation for this class was generated from the following file: