33#ifndef WOSS_MANAGER_SIMPLE_DEFINITIONS_H
34#define WOSS_MANAGER_SIMPLE_DEFINITIONS_H
53 template<
typename WMResDb = WossManagerResDb >
71 virtual bool reset()
override;
98 using WCZIter =
typename WossCoordZMap::iterator;
99 using WCZRIter =
typename WossCoordZMap::reverse_iterator;
104 using WossContainer =
typename std::map< CoordZ, WossCoordZMap, CoordComparator< WossManagerSimple, CoordZ > >;
105 using WCIter =
typename WossContainer::iterator;
106 using WCRIter =
typename WossContainer::reverse_iterator;
127 virtual std::shared_ptr<Woss>
getWoss(
const CoordZ& tx,
const CoordZ& rx,
double start_frequency,
double end_frequency )
override;
132 template<
typename WMResDb >
136 template<
typename WMResDb >
143 template<
typename WMResDb >
146 std::cout <<
"WossManagerSimple::reset() map size = " << woss_map.size() << std::endl;
153 template<
typename WMResDb >
155 for (
const auto& it1 : woss_map) {
156 for (
const auto& it2 : it1.second) {
157 it2.second->timeEvolve(time_value);
164 template<
typename WMResDb >
167 std::cout <<
"WossManagerSimple::getWoss() tx coords " << tx_coordz <<
"; rx coords "
168 << rx_coordz <<
"; start freq " << start_frequency <<
"; end freq "
169 << end_frequency << std::endl;
171 auto it1 = woss_map.find( tx_coordz );
173 if (it1 == woss_map.end() ) {
175 std::cout <<
"WossManagerSimple::getWoss() no tx CoordZ found" << std::endl;
177 auto curr_woss = this->woss_creator->createWoss( tx_coordz, rx_coordz, start_frequency, end_frequency );
179 woss_map[tx_coordz][rx_coordz] = std::move(curr_woss);
180 return( woss_map[tx_coordz][rx_coordz] );
183 auto it2 = (it1->second).find( rx_coordz );
185 if ( it2 == it1->second.end() ) {
188 std::cout <<
"WossManagerSimple::getWoss() no rx CoordZ found" << std::endl;
190 auto curr_woss = WMResDb::woss_creator->createWoss( tx_coordz, rx_coordz, start_frequency, end_frequency );
192 woss_map[tx_coordz][rx_coordz] = std::move(curr_woss);
193 return( woss_map[tx_coordz][rx_coordz] );
196 return( it2->second );
201 template<
typename WMResDb >
204 std::cout <<
"WossManagerSimple::eraseActiveWoss() tx coords " << tx_coordz <<
"; rx coords "
205 << rx_coordz <<
"; start freq " << start_frequency <<
"; end freq "
206 << end_frequency << std::endl;
208 auto it1 = woss_map.find( tx_coordz );
210 if (it1 == woss_map.end() )
213 auto it2 = (it1->second).find( rx_coordz );
215 if ( it2 == it1->second.end() )
218 it1->second.erase(it2);
219 if ( it1->second.empty() )
Function object for partial ordering of coordinates.
Definition coordinates-definitions.h:783
3D-Coordinates (lat, long, depth) class definitions and functions library
Definition coordinates-definitions.h:384
a class for time date manipulation
Definition time-definitions.h:83
simple template extension of WossManagerResDb or WossManagerResDbMT
Definition woss-manager-simple.h:54
typename WossCoordZMap::iterator WCZIter
Definition woss-manager-simple.h:98
static double space_sampling
Definition woss-manager-simple.h:112
WossContainer woss_map
Definition woss-manager-simple.h:117
static void setSpaceSampling(double radius)
Definition woss-manager-simple.h:84
virtual std::shared_ptr< Woss > getWoss(const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency) override
Definition woss-manager-simple.h:165
typename WossCoordZMap::reverse_iterator WCZRIter
Definition woss-manager-simple.h:99
WossManagerSimple()
Definition woss-manager-simple.h:137
typename std::map< CoordZ, WossCoordZMap, CoordComparator< WossManagerSimple, CoordZ > > WossContainer
Definition woss-manager-simple.h:104
virtual bool timeEvolve(const Time &time_value) override
Definition woss-manager-simple.h:154
typename std::map< CoordZ, std::shared_ptr< Woss >, CoordComparator< WossManagerSimple, CoordZ > > WossCoordZMap
Definition woss-manager-simple.h:97
virtual bool reset() override
Definition woss-manager-simple.h:144
typename WossContainer::reverse_iterator WCRIter
Definition woss-manager-simple.h:106
typename WossContainer::iterator WCIter
Definition woss-manager-simple.h:105
virtual WossManagerSimple & eraseActiveWoss(const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency) override
Definition woss-manager-simple.h:202
virtual ~WossManagerSimple() override=default
static double getSpaceSampling()
Definition woss-manager-simple.h:90
Provides the interface for woss::DefHandler class.
Definition ac-toolbox-arr-asc-reader.h:44
Provides the interface for woss::WossManager, woss::WossManagerResDb and woss::WossManagerResDbMT cla...