33#ifndef WOSS_SEDIMENT_DECK41_DB_H
34#define WOSS_SEDIMENT_DECK41_DB_H
37#ifdef WOSS_NETCDF_SUPPORT
54 using FMCIter = FrequencyMap::const_iterator;
55 using FMIter = FrequencyMap::iterator;
56 using FMRIter = FrequencyMap::reverse_iterator;
57 using FMCRIter = FrequencyMap::const_reverse_iterator;
65 using SWIter = SedimWeightMap::iterator;
66 using SWRIter = SedimWeightMap::reverse_iterator;
124 virtual std::unique_ptr<Sediment>
getValue(
const CoordZ& coordz )
const override;
232 std::unique_ptr<Sediment>
createSediment(
int deck41_type,
double depth )
const;
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
Abstraction layer for database and data manipulation.
Definition sediment-deck41-db-logic-control.h:74
constexpr bool getConditionF() const
Definition sediment-deck41-db-logic-control.h:170
constexpr bool getConditionA() const
Definition sediment-deck41-db-logic-control.h:140
constexpr bool getConditionD() const
Definition sediment-deck41-db-logic-control.h:158
constexpr bool getConditionB() const
Definition sediment-deck41-db-logic-control.h:146
constexpr bool getConditionE() const
Definition sediment-deck41-db-logic-control.h:164
constexpr bool getConditionG() const
Definition sediment-deck41-db-logic-control.h:176
constexpr bool getConditionC() const
Definition sediment-deck41-db-logic-control.h:152
WossDb for custom made NetCDF DECK41 Sediment database.
Definition sediment-deck41-coord-db.h:87
DbCreator for NetCDF Deck41 Sediment database.
Definition sediment-deck41-db-creator.h:52
WossDb for NetCDF DECK41 Sediment database.
Definition sediment-deck41-db.h:75
Deck41Types getDeck41TypesFromCoords(const CoordZVector &coordz_vector) const
Definition sediment-deck41-db.cpp:172
virtual bool closeConnection() override
Definition sediment-deck41-db.cpp:58
Deck41Types getDeck41TypesFromMarsdenCoords(const CoordZVector &coordz_vector) const
Definition sediment-deck41-db.cpp:194
SedimDeck41CoordDb sediment_coord_db
Definition sediment-deck41-db.h:142
std::unique_ptr< Sediment > calculateSediment(const Deck41Types &floor_types, double avg_depth) const
Definition sediment-deck41-db.cpp:302
Deck41TypeTests curr_tests_state
Definition sediment-deck41-db.h:157
static SedimWeightMap sediment_weight_map
Definition sediment-deck41-db.h:167
virtual ~SedimDeck41Db() override=default
virtual bool insertValue(const Coord &coordinates, const Sediment &sediment_value) override
Definition sediment-deck41-db.cpp:64
bool doTestC(const Deck41TypeTests &test) const
Definition sediment-deck41-db.h:284
double calculateAvgDepth(const CoordZVector &coordz_vector) const
Definition sediment-deck41-db.cpp:142
Deck41Types calculateDeck41Types(const CoordZVector &coordz_vector) const
Definition sediment-deck41-db.cpp:238
Deck41Types getDeck41TypesFromMarsdenSquare(const CoordZVector &coordz_vector) const
Definition sediment-deck41-db.cpp:216
bool doTestA(const Deck41TypeTests &test) const
Definition sediment-deck41-db.h:273
virtual bool openConnection() override
Definition sediment-deck41-db.h:93
Deck41TypeTests prev_tests_state
Definition sediment-deck41-db.h:162
static SedimWeightMap initSedimWeightMap()
Definition sediment-deck41-db.cpp:70
SedimDeck41MarsdenDb sediment_marsden_db
Definition sediment-deck41-db.h:147
std::unique_ptr< Sediment > createSediment(int deck41_type, double depth) const
Definition sediment-deck41-db.cpp:80
virtual bool finalizeConnection() override
Definition sediment-deck41-db.h:98
SedimDeck41MarsdenOneDb sediment_marsden_one_db
Definition sediment-deck41-db.h:152
virtual std::unique_ptr< Sediment > getValue(const CoordZ &coordz) const override
Definition sediment-deck41-db.cpp:358
int getMaxAppereanceFrequencyValue(const FrequencyMap &frequency_map) const
Definition sediment-deck41-db.cpp:155
bool doTestB(const Deck41TypeTests &test) const
Definition sediment-deck41-db.h:279
WossDb for custom made NetCDF marsden square DECK41 Sediment database.
Definition sediment-deck41-marsden-db.h:54
WossDb for custom made NetCDF marsden coordinates DECK41 Sediment database.
Definition sediment-deck41-marsden-one-db.h:55
Surficial sediment geoacoustic parameters definitions.
Definition sediment-definitions.h:54
Abstract class that provides the interface of databases.
Definition woss-db.h:79
Data behaviour class for Sediment database.
Definition woss-db.h:296
Definition ac-toolbox-arr-asc-reader.h:44
std::pair< int, int > Deck41Types
Definition sediment-definitions.h:46
std::vector< CoordZ > CoordZVector
Definition coordinates-definitions.h:58
std::map< int, int > FrequencyMap
Definition sediment-deck41-db.h:53
SedimWeightMap::reverse_iterator SWRIter
Definition sediment-deck41-db.h:66
FrequencyMap::iterator FMIter
Definition sediment-deck41-db.h:55
SedimWeightMap::iterator SWIter
Definition sediment-deck41-db.h:65
std::map< char, double > SedimWeightMap
Definition sediment-deck41-db.h:64
FrequencyMap::const_iterator FMCIter
Definition sediment-deck41-db.h:54
FrequencyMap::const_reverse_iterator FMCRIter
Definition sediment-deck41-db.h:57
FrequencyMap::reverse_iterator FMRIter
Definition sediment-deck41-db.h:56
Provides the interface for woss::SedimDeck41CoordDb class.
Provides the interface for woss::Deck41TypeTests class.
Provides the interface for woss::SedimDeck41MarsdenDb class.
Provides the interface for woss::SedimDeck41MarsdenOneDb class.