40#ifndef WOSS_DB_MANAGER_IMPLEMENT_H
41#define WOSS_DB_MANAGER_IMPLEMENT_H
55 class WossBathymetryDb;
61 class WossResTimeArrDb;
229 virtual SSP*
getSSP(
const Coord& tx,
const Coord& rx,
const Time& time,
long double ssp_depth_precision = SSP_CUSTOM_DEPTH_PRECISION )
const;
242 virtual SSP*
getAverageSSP(
const Coord& tx,
const Coord& rx,
const Time& time_start,
const Time& time_end,
int max_time_values,
long double ssp_depth_precision = SSP_CUSTOM_DEPTH_PRECISION )
const;
335 double bearing = CCAltimetry::DB_CDATA_ALL_MEDIUM_KEYS,
336 double range = CCAltimetry::DB_CDATA_ALL_INNER_KEYS );
346 double bearing = CCAltimetry::DB_CDATA_ALL_MEDIUM_KEYS,
347 double range = CCAltimetry::DB_CDATA_ALL_INNER_KEYS );
357 double bearing = CCAltimetry::DB_CDATA_ALL_MEDIUM_KEYS,
358 double range = CCAltimetry::DB_CDATA_ALL_INNER_KEYS );
370 double bearing = CCSediment::DB_CDATA_ALL_MEDIUM_KEYS,
371 double range = CCSediment::DB_CDATA_ALL_INNER_KEYS );
383 const Coord& txCoord = CCSediment::DB_CDATA_ALL_OUTER_KEYS,
384 double bearing = CCSediment::DB_CDATA_ALL_MEDIUM_KEYS,
385 double range = CCSediment::DB_CDATA_ALL_INNER_KEYS );
395 double bearing = CCSediment::DB_CDATA_ALL_MEDIUM_KEYS,
396 double range = CCSediment::DB_CDATA_ALL_INNER_KEYS );
406 double bearing = CCSediment::DB_CDATA_ALL_MEDIUM_KEYS,
407 double range = CCSediment::DB_CDATA_ALL_INNER_KEYS );
420 double bearing = CCSSP::DB_CDATA_ALL_MEDIUM_KEYS,
421 double range = CCSSP::DB_CDATA_ALL_INNER_KEYS,
422 const Time& time_value = CCSSP::DB_CDATA_ALL_TIME_KEYS );
435 bool setCustomSSP(
const std::string& sspString,
const Coord& txCoord = CCSSP::DB_CDATA_ALL_OUTER_KEYS,
436 double bearing = CCSSP::DB_CDATA_ALL_MEDIUM_KEYS,
437 double range = CCSSP::DB_CDATA_ALL_INNER_KEYS,
438 const Time& time_value = CCSSP::DB_CDATA_ALL_TIME_KEYS );
461 virtual bool importCustomSSP( const ::std::string& filename,
const Time& = CCSSP::DB_CDATA_ALL_TIME_KEYS,
462 const Coord& tx_coord = CCSSP::DB_CDATA_ALL_OUTER_KEYS,
double bearing = CCSSP::DB_CDATA_ALL_MEDIUM_KEYS );
473 double bearing = CCSSP::DB_CDATA_ALL_MEDIUM_KEYS,
474 double range = CCSSP::DB_CDATA_ALL_INNER_KEYS,
475 const Time& time_value = CCSSP::DB_CDATA_ALL_TIME_KEYS );
486 double bearing = CCSSP::DB_CDATA_ALL_MEDIUM_KEYS,
487 double range = CCSSP::DB_CDATA_ALL_INNER_KEYS,
488 const Time& time_value = CCSSP::DB_CDATA_ALL_TIME_KEYS );
498 bool setCustomBathymetry( Bathymetry*
const bathymetry,
const Coord& tx_coord = CCBathymetry::DB_CDATA_ALL_OUTER_KEYS,
499 double bearing = CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS,
500 double range = CCBathymetry::DB_CDATA_ALL_INNER_KEYS );
511 bool setCustomBathymetry (const ::std::string &bathyLine,
const Coord& tx_coord = CCBathymetry::DB_CDATA_ALL_OUTER_KEYS,
512 double bearing = CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS);
522 double bearing = CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS );
532 double bearing = CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS,
533 double range = CCBathymetry::DB_CDATA_ALL_INNER_KEYS );
543 double bearing = CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS,
544 double range = CCBathymetry::DB_CDATA_ALL_INNER_KEYS );
547 WossDbManager& setDebug(
bool flag ) {
debug = flag; updateDebugFlag();
return *
this; }
549 bool getDebug() {
return debug; }
612 virtual void updateDebugFlag();
657 return ccssp_map.
get( tx_coord, bearing, range, time_key );
673 return const_cast< Bathymetry*
>(
ccbathy_map.
get( tx_coord, bearing, range ) );
Definitions and library for woss::Altimetry class.
Altimetry profile class.
Definition altimetry-definitions.h:78
3D-Coordinates (lat, long, depth) class definitions and functions library
Definition coordinates-definitions.h:403
Coordinates (lat, long) class definitions and functions library.
Definition coordinates-definitions.h:107
double getInitialBearing(const Coord &destination) const
Definition coordinates-definitions.cpp:143
double getGreatCircleDistance(const Coord &destination, double depth=0) const
Definition coordinates-definitions.cpp:171
bool insert(const Data &data, const T &t=DB_CDATA_ALL_OUTER_KEYS, double b=DB_CDATA_ALL_MEDIUM_KEYS, double r=DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-custom-data-container.h:437
void erase(const T &t=DB_CDATA_ALL_OUTER_KEYS, double b=DB_CDATA_ALL_MEDIUM_KEYS, double r=DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-custom-data-container.h:525
const Data * get(const T &t=DB_CDATA_ALL_OUTER_KEYS, double b=DB_CDATA_ALL_MEDIUM_KEYS, double r=DB_CDATA_ALL_INNER_KEYS) const
Definition woss-db-custom-data-container.h:262
Class for managing custom db data.
Definition woss-db-custom-data-container.h:922
bool insert(const Data &data, const T &t=DB_CDATA_ALL_OUTER_KEYS, double b=DB_CDATA_ALL_MEDIUM_KEYS, double r=DB_CDATA_ALL_INNER_KEYS, const Time &time_key=DB_CDATA_ALL_TIME_KEYS)
Definition woss-db-custom-data-container.h:1350
Data get(const T &t=DB_CDATA_ALL_OUTER_KEYS, double b=DB_CDATA_ALL_MEDIUM_KEYS, double r=DB_CDATA_ALL_INNER_KEYS, const Time &time_key=DB_CDATA_ALL_TIME_KEYS) const
Definition woss-db-custom-data-container.h:1163
void erase(const T &t=DB_CDATA_ALL_OUTER_KEYS, double b=DB_CDATA_ALL_MEDIUM_KEYS, double r=DB_CDATA_ALL_INNER_KEYS, const Time &time_key=DB_CDATA_ALL_TIME_KEYS)
Definition woss-db-custom-data-container.h:1365
Complex attenuated pressure class.
Definition pressure-definitions.h:59
SSP class offers multiple creation and manipulation capabilities for sound speed profile.
Definition ssp-definitions.h:258
Surficial sediment geoacoustic parameters definitions.
Definition sediment-definitions.h:63
Channel power delay profile class.
Definition time-arrival-definitions.h:82
a class for time date manipulation
Definition time-definitions.h:95
Data behaviour class for bathymetry database.
Definition woss-db.h:292
Bearing operator function object.
Definition woss-db-manager.h:95
double operator()(const Coord &x, const Coord &y) const
Definition woss-db-manager.h:110
Range operator function object.
Definition woss-db-manager.h:122
double operator()(const Coord &x, const Coord &y) const
Definition woss-db-manager.h:137
Abstraction layer for database and data manipulation.
Definition woss-db-manager.h:84
WossDbManager & setResTimeArrDb(WossResTimeArrDb *ptr)
Definition woss-db-manager.h:317
WossBathymetryDb * bathymetry_db
Definition woss-db-manager.h:558
WossDbManager & eraseCustomSediment(const Coord &tx_coord=CCSediment::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCSediment::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCSediment::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:645
WossDbManager & operator=(WossDbManager &instance)
Definition woss-db-manager.cpp:90
WossDbManager & setBathymetryDb(WossBathymetryDb *ptr)
Definition woss-db-manager.h:296
Bathymetry * getCustomBathymetry(const Coord &tx_coord=CCBathymetry::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCBathymetry::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:672
WossDbManager & eraseCustomSSP(const Coord &tx_coord=CCSSP::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCSSP::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCSSP::DB_CDATA_ALL_INNER_KEYS, const Time &time_value=CCSSP::DB_CDATA_ALL_TIME_KEYS)
Definition woss-db-manager.h:661
virtual ~WossDbManager()
Definition woss-db-manager.cpp:114
virtual bool importCustomSSP(const ::std::string &filename, const Time &=CCSSP::DB_CDATA_ALL_TIME_KEYS, const Coord &tx_coord=CCSSP::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCSSP::DB_CDATA_ALL_MEDIUM_KEYS)
Definition woss-db-manager.cpp:423
virtual Bathymetry getBathymetry(const Coord &tx, const Coord &rx) const
Definition woss-db-manager.cpp:251
CCSSP ccssp_map
Definition woss-db-manager.h:600
virtual void insertTimeArr(const CoordZ &coord_tx, const CoordZ &coord_rx, const double frequency, const Time &time_value, const TimeArr &channel) const
Definition woss-db-manager.cpp:334
WossDbManager & setSSPDb(WossSSPDb *ptr)
Definition woss-db-manager.h:310
bool setCustomAltimetry(Altimetry *const altimetry, const Coord &tx_coord=CCAltimetry::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCAltimetry::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCAltimetry::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:619
virtual bool closeAllConnections()
Definition woss-db-manager.cpp:139
virtual SSP * getAverageSSP(const Coord &tx, const Coord &rx, const Time &time_start, const Time &time_end, int max_time_values, long double ssp_depth_precision=SSP_CUSTOM_DEPTH_PRECISION) const
Definition woss-db-manager.cpp:295
SSP * getCustomSSP(const Coord &tx_coord=CCSSP::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCSSP::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCSSP::DB_CDATA_ALL_INNER_KEYS, const Time &time_value=CCSSP::DB_CDATA_ALL_TIME_KEYS)
Definition woss-db-manager.h:656
virtual bool importCustomBathymetry(const ::std::string &filename, const Coord &tx_coord=CCBathymetry::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS)
Definition woss-db-manager.cpp:622
CCSediment ccsediment_map
Definition woss-db-manager.h:595
bool setCustomSSP(SSP *const ssp, const Coord &tx_coord=CCSSP::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCSSP::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCSSP::DB_CDATA_ALL_INNER_KEYS, const Time &time_value=CCSSP::DB_CDATA_ALL_TIME_KEYS)
Definition woss-db-manager.h:651
bool setCustomSediment(Sediment *const sediment, const Coord &tx_coord=CCSediment::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCSediment::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCSediment::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:635
WossSSPDb * ssp_db
Definition woss-db-manager.h:568
WossDbManager & setResPressureDb(WossResPressDb *ptr)
Definition woss-db-manager.h:324
virtual SSP * getSSP(const Coord &tx, const Coord &rx, const Time &time, long double ssp_depth_precision=SSP_CUSTOM_DEPTH_PRECISION) const
Definition woss-db-manager.cpp:280
bool setCustomSSP(const std::string &sspString, const Coord &txCoord=CCSSP::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCSSP::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCSSP::DB_CDATA_ALL_INNER_KEYS, const Time &time_value=CCSSP::DB_CDATA_ALL_TIME_KEYS)
WossResPressDb * results_pressure_db
Definition woss-db-manager.h:578
WossDbManager & setSedimentDb(WossSedimentDb *ptr)
Definition woss-db-manager.h:303
Altimetry * getCustomAltimetry(const Coord &tx_coord=CCAltimetry::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCAltimetry::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCAltimetry::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:624
virtual Sediment * getSediment(const CoordZ &tx, const CoordZ &rx) const
Definition woss-db-manager.cpp:172
virtual Pressure * getPressure(const CoordZ &coord_tx, const CoordZ &coord_rx, const double frequency, const Time &time_value) const
Definition woss-db-manager.cpp:339
WossDbManager & eraseCustomAltimetry(const Coord &tx_coord=CCAltimetry::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCAltimetry::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCAltimetry::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:629
WossDbManager()
Definition woss-db-manager.cpp:54
WossSedimentDb * sediment_db
Definition woss-db-manager.h:563
bool debug
Definition woss-db-manager.h:584
bool setCustomBathymetry(Bathymetry *const bathymetry, const Coord &tx_coord=CCBathymetry::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCBathymetry::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:667
WossResTimeArrDb * results_arrivals_db
Definition woss-db-manager.h:573
virtual TimeArr * getTimeArr(const CoordZ &coord_tx, const CoordZ &coord_rx, const double frequency, const Time &time_value) const
Definition woss-db-manager.cpp:328
WossDbManager & eraseCustomBathymetry(const Coord &tx_coord=CCBathymetry::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCBathymetry::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCBathymetry::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:677
CCBathymetry ccbathy_map
Definition woss-db-manager.h:590
virtual void insertPressure(const CoordZ &coord_tx, const CoordZ &coord_rx, const double frequency, const Time &time_value, const Pressure &pressure) const
Definition woss-db-manager.cpp:345
CCAltimetry ccaltimetry_map
Definition woss-db-manager.h:605
virtual Altimetry * getAltimetry(const CoordZ &tx, const CoordZ &rx) const
Definition woss-db-manager.cpp:156
Sediment * getCustomSediment(const Coord &tx_coord=CCSediment::DB_CDATA_ALL_OUTER_KEYS, double bearing=CCSediment::DB_CDATA_ALL_MEDIUM_KEYS, double range=CCSediment::DB_CDATA_ALL_INNER_KEYS)
Definition woss-db-manager.h:640
Data behaviour class for storing calculated Pressure.
Definition woss-db.h:458
Data behaviour class for storing calculated TimeArr.
Definition woss-db.h:416
Data behaviour class for SSP database.
Definition woss-db.h:375
Data behaviour class for Sediment database.
Definition woss-db.h:328
Provides the interface for the woss::Coord and woss::CoordZ classes.
::std::vector< CoordZ > CoordZVector
Definition coordinates-definitions.h:64
Generic functions and variables
Definitions and library for woss::Sediment class.
Definitions and library for Sound Speed Profiles.
Provides the interface for woss::CustomDataContainer class.