33#ifndef WOSS_DB_MANAGER_IMPLEMENT_H
34#define WOSS_DB_MANAGER_IMPLEMENT_H
194 virtual std::unique_ptr<SSP>
getSSP(
const Coord& tx,
const Coord& rx,
const Time& time,
long double ssp_depth_precision = SSP_CUSTOM_DEPTH_PRECISION )
const;
207 virtual std::unique_ptr<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;
220 virtual std::unique_ptr<TimeArr>
getTimeArr(
const CoordZ& coord_tx,
const CoordZ& coord_rx,
const double frequency,
const Time& time_value )
const;
243 virtual std::unique_ptr<Pressure>
getPressure(
const CoordZ& coord_tx,
const CoordZ& coord_rx,
const double frequency,
const Time& time_value )
const;
593 return (*ret)->clone();
613 return (*ret)->clone();
631 auto ret =
ccssp_map.
get( tx_coord, bearing, range, time_key);
633 return (*ret)->clone();
Altimetry profile class.
Definition altimetry-definitions.h:64
static AltimetryMap & createNotValid()
Definition altimetry-definitions.h:781
virtual std::unique_ptr< Altimetry > clone() const
Definition altimetry-definitions.h:124
3D-Coordinates (lat, long, depth) class definitions and functions library
Definition coordinates-definitions.h:384
Coordinates (lat, long) class definitions and functions library.
Definition coordinates-definitions.h:98
constexpr double getInitialBearing(const Coord &destination) const
Definition coordinates-definitions.h:925
constexpr double getGreatCircleDistance(const Coord &destination, double depth=0) const
Definition coordinates-definitions.h:954
static constexpr double DB_CDATA_ALL_MEDIUM_KEYS
Definition woss-db-custom-data-container.h:88
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:450
const std::optional< 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:246
static constexpr double DB_CDATA_ALL_INNER_KEYS
Definition woss-db-custom-data-container.h:90
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:467
static const Coord DB_CDATA_ALL_OUTER_KEYS
Definition woss-db-custom-data-container.h:97
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:926
static constexpr double DB_CDATA_ALL_INNER_KEYS
Definition woss-db-custom-data-container.h:534
static constexpr double DB_CDATA_ALL_MEDIUM_KEYS
Definition woss-db-custom-data-container.h:532
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:942
std::optional< 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:713
static const Time DB_CDATA_ALL_TIME_KEYS
Definition woss-db-custom-data-container.h:538
static const Coord DB_CDATA_ALL_OUTER_KEYS
Definition woss-db-custom-data-container.h:536
Complex attenuated pressure class.
Definition pressure-definitions.h:52
SSP class offers multiple creation and manipulation capabilities for sound speed profile.
Definition ssp-definitions.h:247
virtual std::unique_ptr< SSP > clone() const
Definition ssp-definitions.h:322
Surficial sediment geoacoustic parameters definitions.
Definition sediment-definitions.h:54
virtual std::unique_ptr< Sediment > clone() const
Definition sediment-definitions.h:106
static T & instance()
Definition singleton-definitions.h:90
Channel power delay profile class.
Definition time-arrival-definitions.h:70
a class for time date manipulation
Definition time-definitions.h:83
Bearing operator function object.
Definition woss-db-manager.h:70
double operator()(const Coord &x, const Coord &y) const
Definition woss-db-manager.h:83
Range operator function object.
Definition woss-db-manager.h:95
double operator()(const Coord &x, const Coord &y) const
Definition woss-db-manager.h:108
Abstraction layer for database and data manipulation.
Definition woss-db-manager.h:59
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:619
std::unique_ptr< WossResPressDb > results_pressure_db
Definition woss-db-manager.h:545
virtual std::unique_ptr< 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:219
virtual void updateDebugFlag()
Definition woss-db-manager.cpp:61
bool setCustomSSP(const SSP &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:625
WossDbManager & setSedimentDb(std::unique_ptr< WossSedimentDb > ptr)
Definition woss-db-manager.h:270
WossDbManager & setBathymetryDb(std::unique_ptr< WossBathymetryDb > ptr)
Definition woss-db-manager.h:262
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:639
virtual std::unique_ptr< Pressure > getPressure(const CoordZ &coord_tx, const CoordZ &coord_rx, const double frequency, const Time &time_value) const
Definition woss-db-manager.cpp:279
std::unique_ptr< WossResTimeArrDb > results_arrivals_db
Definition woss-db-manager.h:540
virtual ~WossDbManager()=default
CCSSP ccssp_map
Definition woss-db-manager.h:565
bool getDebug() const
Definition woss-db-manager.h:518
std::unique_ptr< 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) const
Definition woss-db-manager.h:610
virtual std::unique_ptr< 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:235
WossDbManager(const WossDbManager &instance)=default
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:273
virtual bool closeAllConnections()
Definition woss-db-manager.cpp:69
WossDbManager & operator=(WossDbManager &&instance)=default
std::unique_ptr< WossSedimentDb > sediment_db
Definition woss-db-manager.h:530
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:365
CCSediment ccsediment_map
Definition woss-db-manager.h:560
bool setCustomBathymetry(const Bathymetry &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:645
virtual std::unique_ptr< Sediment > getSediment(const CoordZ &tx, const CoordZ &rx) const
Definition woss-db-manager.cpp:107
std::unique_ptr< WossSSPDb > ssp_db
Definition woss-db-manager.h:535
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:576
std::unique_ptr< 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) const
Definition woss-db-manager.h:630
WossDbManager & setResPressureDb(std::unique_ptr< WossResPressDb > ptr)
Definition woss-db-manager.h:294
bool setCustomSediment(const Sediment &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:605
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:599
WossDbManager()
Definition woss-db-manager.cpp:45
bool debug
Definition woss-db-manager.h:550
WossDbManager & setResTimeArrDb(std::unique_ptr< WossResTimeArrDb > ptr)
Definition woss-db-manager.h:286
std::unique_ptr< 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) const
Definition woss-db-manager.h:590
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) const
Definition woss-db-manager.h:650
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:659
CCBathymetry ccbathy_map
Definition woss-db-manager.h:555
WossDbManager(WossDbManager &&instance)=default
WossDbManager & setSSPDb(std::unique_ptr< WossSSPDb > ptr)
Definition woss-db-manager.h:278
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:286
virtual Bathymetry getBathymetry(const Coord &tx, const Coord &rx) const
Definition woss-db-manager.cpp:190
CCAltimetry ccaltimetry_map
Definition woss-db-manager.h:570
virtual std::unique_ptr< Altimetry > getAltimetry(const CoordZ &tx, const CoordZ &rx) const
Definition woss-db-manager.cpp:90
bool setCustomAltimetry(const Altimetry &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:585
virtual std::unique_ptr< TimeArr > getTimeArr(const CoordZ &coord_tx, const CoordZ &coord_rx, const double frequency, const Time &time_value) const
Definition woss-db-manager.cpp:266
WossDbManager & setDebug(bool flag)
Definition woss-db-manager.h:516
std::unique_ptr< WossBathymetryDb > bathymetry_db
Definition woss-db-manager.h:525
WossDbManager & operator=(const WossDbManager &instance)=default
Provides the interface for woss::DefHandler class.
Generic functions and variables
Definition ac-toolbox-arr-asc-reader.h:44
std::vector< CoordZ > CoordZVector
Definition coordinates-definitions.h:58
double Bathymetry
Definition definitions.h:44
Provides the interface for woss::CustomDataContainer class.
Provides the interface for woss::WossDb class.