World Ocean Simulation System (WOSS) library
WossBellhopTest Class Reference
Inheritance diagram for WossBellhopTest:
Inheritance graph
Collaboration diagram for WossBellhopTest:
Collaboration graph

Public Member Functions

 WossBellhopTest ()
virtual ~WossBellhopTest () override=default
void setTxCoordZVector (vector< CoordZ > &tx)
void setRxCoordZVector (vector< CoordZ > &rx)
Public Member Functions inherited from woss::WossTest
 WossTest ()
virtual ~WossTest ()=default
 WossTest (const WossTest &copy)=delete
 WossTest (WossTest &&tmp)=delete
WossTest & operator= (const WossTest &copy)=delete
WossTest & operator= (WossTest &&tmp)=delete
void run ()
WossTest & setWossTestDebug (bool flag)
bool getWossTestDebug () const
WossTest & setWossRandomGenStream (int stream)
int getWossRandomGenStream () const
WossTest & setResDbCreatorDebug (bool flag)
bool getResDbCreatorDebug () const
WossTest & setResDbDebug (bool flag)
bool getResDbDebug () const
WossTest & setResDbUseBinary (bool flag)
bool getResDbUseBinary () const
WossTest & setResDbUseTimeArr (bool flag)
bool getResDbUseTimeArr () const
WossTest & setResDbUsePressure (bool flag)
bool getResDbUsePressure () const
WossTest & setResDbSpaceSampling (double sampling)
double getResDbSpaceSampling () const
WossTest & setResDbFilePath (const std::string &path)
std::string getResDbFilePath () const
WossTest & setResDbFileName (const std::string &file_name)
std::string getResDbFileName () const
WossTest & setSedimDeck41DbType (DECK41DbType type)
DECK41DbType getSedimDeck41DbType () const
WossTest & setSedimDbCreatorDebug (bool flag)
bool getSedimDbCreatorDebug () const
WossTest & setSedimDbDebug (bool flag)
bool getSedimDbDebug () const
WossTest & setSedimDbCoordFilePath (const std::string &path)
std::string getSedimDbCoordFilePath () const
WossTest & setSedimDbMarsdenFilePath (const std::string &path)
std::string getSedimDbMarsdenFilePath () const
WossTest & setSedimDbMarsdenOneFilePath (const std::string &path)
std::string getSedimDbMarsdenOneFilePath () const
WossTest & setSspDbCreatorDebug (bool flag)
bool getSspDbCreatorDebug () const
WossTest & setSspDbDebug (bool flag)
bool getSspDbDebug () const
WossTest & setSspDbFilePath (const std::string &path)
std::string getSspDbFilePath () const
WossTest & setSspWoaDbType (WOADbType type)
WOADbType getSspWoaDbType () const
WossTest & setBathyDbCreatorDebug (bool flag)
bool getBathyDbCreatorDebug () const
WossTest & setBathyDbDebug (bool flag)
bool getBathyDbDebug () const
WossTest & setBathyDbGebcoFormat (GEBCO_BATHY_TYPE type)
GEBCO_BATHY_TYPE getBathyDbGebcoFormat () const
WossTest & setBathyDbFilePath (const std::string &path)
std::string getBathyDbFilePath () const
WossTest & setWossDbManagerDebug (bool flag)
bool getWossDbManagerDebug () const
WossTest & setWossCreatorDebug (bool flag)
bool getWossCreatorDebug () const
WossTest & setWossDebug (bool flag)
bool getWossDebug () const
WossTest & setWossClearWorkDir (bool flag)
bool getWossClearWorkDir () const
WossTest & setWossEvolutionTimeQuantum (double time)
double getWossEvolutionTimeQuantum () const
WossTest & setWossTotalRuns (int runs)
int getWossTotalRuns () const
WossTest & setWossFrequencyStep (double step)
double getWossFrequencyStep () const
WossTest & setWossTotalRangeSteps (double step)
double getWossTotalRangeSteps () const
WossTest & setWossTxMinDepthOffset (double offset)
double getWossTxMinDepthOffset () const
WossTest & setWossTxMaxDepthOffset (double offset)
double getWossTxMaxDepthOffset () const
WossTest & setWossTotalTransmitters (int transmitters)
int getWossTotalTransmitters () const
WossTest & setWossTotalRxDepths (int rx_depths)
int getWossTotalRxDepths () const
WossTest & setWossRxMinDepthOffset (double offset)
double getWossRxMinDepthOffset () const
WossTest & setWossRxMaxDepthOffset (double offset)
double getWossRxMaxDepthOffset () const
WossTest & setWossTotalRxRanges (int rx_ranges)
int getWossTotalRxRanges () const
WossTest & setWossRxMinRangeOffset (double offset)
double getWossRxMinRangeOffset () const
WossTest & setWossRxMaxRangeOffset (double offset)
double getWossRxMaxRangeOffset () const
WossTest & setWossTotalRays (double rays)
double getWossTotalRays () const
WossTest & setWossMinAngle (double angle)
double getWossMinAngle () const
WossTest & setWossMaxAngle (double angle)
double getWossMaxAngle () const
WossTest & setWossUseThorpeAtt (bool flag)
bool getWossUseThorpeAtt () const
WossTest & setWossSspDepthPrecision (double precision)
double getWossSspDepthPrecision () const
WossTest & setWossNormalizedSspDepthSteps (double steps)
double getWossNormalizedSspDepthSteps () const
WossTest & setWossWorkDirPath (const std::string &path)
std::string getWossWorkDirPath () const
WossTest & setWossBellhopPath (const std::string &path)
std::string getWossBellhopPath () const
WossTest & setWossBellhopBinName (const std::string &name)
std::string getWossBellhopBinName () const
WossTest & setWossBellhopMode (const std::string &mode)
std::string getWossBellhopMode () const
WossTest & setWossBellhopBeamOptions (const std::string &options)
std::string getWossBellhopBeamOptions () const
WossTest & setWossBellhopBathyType (const std::string &type)
std::string getWossBellhopBathyType () const
WossTest & setWossBellhopBathyMethod (const std::string &type)
std::string getWossBellhopBathyMethod () const
WossTest & setWossBellhopAltimType (const std::string &type)
std::string getWossBellhopAltimType () const
WossTest & setWossBellhopArraySyntax (BellhopArrSyntax syntax)
BellhopArrSyntax getWossBellhopArraySyntax () const
WossTest & setWossBellhopShdSyntax (BellhopShdSyntax syntax)
BellhopShdSyntax getWossBellhopShdSyntax () const
WossTest & setWossSimTime (const SimTime &time)
SimTime getWossSimTime () const
WossTest & setWossBoxDepth (double depth)
double getWossBoxDepth () const
WossTest & setWossBoxRange (double range)
double getWossBoxRange () const
WossTest & setWossManagerDebug (bool flag)
bool getWossManagerDebug () const
WossTest & setWossManagerTimeEvoActive (bool flag)
bool getWossManagerTimeEvoActive () const
WossTest & setWossManagerThreads (unsigned int threads)
int getWossManagerThreads () const
WossTest & setWossManagerSpaceSampling (double sampling)
double getWossManagerSpaceSampling () const
WossTest & setWossManagerUseMultiThread (bool flag)
bool getWossManagerUseMultiThread () const
WossTest & setWossManagerUseThreadPool (bool flag)
bool getWossManagerUseThreadPool () const
WossTest & setWossTransducerHandlerDebug (bool flag)
bool getWossTransducerHandlerDebug () const
WossTest & setWossControllerDebug (bool flag)
bool getWossControllerDebug () const

Private Member Functions

virtual void doConfig () override
virtual void doInit () override
virtual void doRun () override

Private Attributes

vector< CoordZ > tx_coordz_vector
vector< CoordZ > rx_coordz_vector
CoordZPairVect coordz_pair_vector
vector< double > frequencies_vector
string db_path
string res_path
bool skip_single_tests = false

Additional Inherited Members

Protected Member Functions inherited from woss::WossTest
void config ()
void init ()
Protected Attributes inherited from woss::WossTest
bool debug
 debug flag
std::unique_ptr< SSP > ssp_proto
 SSP prototype which will be plugged into the WOSS framework.
std::unique_ptr< Sediment > sediment_proto
 Sediment prototype which will be plugged into the WOSS framework.
std::unique_ptr< Pressure > pressure_proto
 Pressure prototype which will be plugged into the WOSS framework.
std::unique_ptr< TimeArr > time_arr_proto
 TimeArr prototype which will be plugged into the WOSS framework.
std::unique_ptr< Transducer > transducer_proto
 Transducer prototype which will be plugged into the WOSS framework.
std::unique_ptr< AltimBretschneider > altim_bret_proto
 AltimBretschneider prototype which will be plugged into the WOSS framework.
std::unique_ptr< Location > location_proto
 Location prototype which will be plugged into the WOSS framework.
int woss_random_gen_stream
 random generator used by the WOSS framework.
std::unique_ptr< RandomGenerator > random_gen_proto
 RandomGenerator prototype which will be plugged into the WOSS framework.
std::unique_ptr< TimeReference > time_ref_proto
 TimeReference prototype which will be plugged into the WOSS framework.
DefHandler & def_handler
 Definition Handler object allocated by the helper.
bool res_db_creator_debug
 enable/disable the debug prints of the woss results database creator.
bool res_db_debug
 enable/disable the debug prints of the woss result databases.
bool res_db_use_binary
 set up the woss result database format: binary or textual.
bool res_db_use_time_arr
 set up the woss result databases data format: power delay profile.
bool res_db_use_pressure
 set up the woss result databases data format: single pressure tap.
double res_db_space_sampling
 set up the woss result database 2D spatial sampling
std::string res_db_file_path
 set up the woss result database file path
std::string res_db_file_name
 set up the woss result database file name (without path)
std::shared_ptr< ResPressureBinDbCreator > res_db_creator_press_bin
 the helper will automatically allocate the desired result database creator based on current configuration.
std::shared_ptr< ResPressureTxtDbCreator > res_db_creator_press_txt
 the helper will automatically allocate the desired result database creator based on current configuration.
std::shared_ptr< ResTimeArrBinDbCreator > res_db_creator_time_arr_bin
 the helper will automatically allocate the desired result database creator based on current configuration.
std::shared_ptr< ResTimeArrTxtDbCreator > res_db_creator_time_arr_txt
 the helper will automatically allocate the desired result database creator based on current configuration.
DECK41DbType sedim_deck41_db_type
 DECK41 db data format type.
bool sedim_db_creator_debug
 enable/disable the debug prints of the woss sediment database creator.
bool sedim_db_debug
 enable/disable the debug prints of the woss sediment database.
std::string sedim_db_coord_file_path
 setup the path of the sediment database indexed by geographical coordinates with decimal degrees resolution
std::string sedim_db_marsden_file_path
 setup the path of the sediment database indexed by geographical coordinates with marsden square resolution
std::string sedim_db_marsden_one_file_path
 setup the path of the sediment database indexed by geographical coordinates with marsden one square resolution
std::shared_ptr< SedimDeck41DbCreator > sedim_db_creator
 the helper will automatically allocate the woss sediment database creator
bool ssp_db_creator_debug
 enable/disable the debug prints of the woss SSP database creator.
bool ssp_db_debug
 enable/disable the debug prints of the woss SSP database.
std::string ssp_db_file_path
 setup the path of the woss monthly SSP database indexed by geographical coordinates
WOADbType ssp_woa_db_type
 WOA SSP Db Type.
std::shared_ptr< SspWoa2005DbCreator > ssp_db_creator
 the helper will automatically allocate the woss sediment database creator
bool bathy_db_creator_debug
 enable/disable the debug prints of the woss Bathymetry database creator.
bool bathy_db_debug
 enable/disable the debug prints of the woss Bathymetry database (GEBCO).
GEBCO_BATHY_TYPE bathy_db_gebco_format
 setup the the GEBCO database format
std::string bathy_db_file_path
 setup the path of the woss GEBCO database
std::shared_ptr< BathyGebcoDbCreator > bathy_db_creator
 the helper will automatically allocate the woss GEBCO bathymetry db creator
bool woss_db_manager_debug
 enable/disable the debug prints of the woss DB manager object.
std::shared_ptr< WossDbManager > woss_db_manager
 the helper will automatically allocate the woss DB manager
bool woss_creator_debug
 enable/disable the debug prints of the woss creator.
bool woss_debug
 enable/disable the debug prints of all woss objects
bool woss_clear_work_dir
 woss object configuration: clear the temporary files created by the underlying channel simulator
double evolution_time_quantum
 woss object configuration: evolution time quantum
int total_runs
 woss object configuration: total number of channel simulator runs
double frequency_step
 woss object configuration: number of frequency steps
double total_range_steps
 woss object configuration: tx - rx range sampling in meters
double tx_min_depth_offset
 woss object configuration: transmitter min offset in meters
double tx_max_depth_offset
 woss object configuration: transmitter max offset in meters
int total_transmitters
 woss object configuration: total number of transmitting sources
int total_rx_depths
 woss object configuration: receiver depth sampling
double rx_min_depth_offset
 woss object configuration: receiver min depth offset in meters
double rx_max_depth_offset
 woss object configuration: receiver max depth offset in meters
int total_rx_ranges
 woss object configuration: receiver range sampling
double rx_min_range_offset
 woss object configuration: receiver min range offset in meters
double rx_max_range_offset
 woss object configuration: receiver max range offset in meters
double total_rays
 woss object configuration: total number of rays (0 = automatic)
double min_angle
 woss object configuration: minimum vertical angle in decimal degrees
double max_angle
 woss object configuration: maximum vertical angle in decimal degrees
bool use_thorpe_att
 woss object configuration: use thorpe attenuation in channel computation
double ssp_depth_precision
 woss object configuration: SSP depth precision in meters
double normalized_ssp_depth_steps
 woss object configuration: SSP depth quantization steps
std::string work_dir_path
 woss object configuration: path of the temporary directory
std::string bellhop_path
 woss object configuration: path of the Bellhop executable
std::string bellhop_bin_name
 woss object configuration: Bellhop binary name
std::string bellhop_mode
 woss object configuration: Bellhop mode string
std::string bellhop_beam_options
 woss object configuration: Bellhop beam option string
std::string bellhop_bathy_type
 woss object configuration: Bellhop bathymetry type string
std::string bellhop_bathy_method
 woss object configuration: Bathymetry write method string
std::string bellhop_altim_type
 woss object configuration: Bellhop Altimetry type string
BellhopArrSyntax bellhop_arr_syntax
 woss object configration: Bellhop Arr file syntax to be used during .arr file parsing
BellhopShdSyntax bellhop_shd_syntax
 woss object configration: Bellhop Shd file syntax to be used during .shd file parsing
SimTime sim_time
 woss object configuration: woss simulation times (start and end sim times)
std::shared_ptr< BellhopCreator > bellhop_creator
 the helper will automatically allocate the woss creator
double box_depth
 woss object configuration: maximum depth to trace rays to; deeper rays will be ignored
double box_range
 woss object configuration: maximum range to trace rats to; longer rays will be ignored
bool woss_manager_debug
 enable/disable the debug prints of the woss manager.
bool time_evolution_active
 enable/disable the time evolution feature.
unsigned int concurrent_threads
 number of concurrent threads (0 = auto).
double woss_manager_space_sampling
 woss manager space sampling in meters
bool woss_manager_use_multithread
 enable/disable the multithread feature
bool woss_manager_use_thread_pool
 enable/disable woss::ThreadPool usage
std::shared_ptr< WossManagerSimple< WossManagerResDb > > woss_manager_simple
 the helper will automatically allocate the desired woss manager based on current configuration.
std::shared_ptr< WossManagerSimple< WossManagerResDbMT > > woss_manager_multi
 the helper will automatically allocate the desired woss manaeger based on current configuration.
bool woss_transducer_handler_debug
 enable/disable the debug prints of the woss transducer handler.
std::shared_ptr< TransducerHandler > woss_transducer_handler
 the helper will automatically allocate the woss Transducer handler.
bool woss_controller_debug
 enable/disable the debug prints of the woss conteroller
std::shared_ptr< WossController > woss_controller
 the helper will automatically allocate the woss controller.
bool initialized
 initialization complete flag.

Constructor & Destructor Documentation

◆ WossBellhopTest()

WossBellhopTest::WossBellhopTest ( )

References db_path, frequencies_vector, res_path, rx_coordz_vector, tx_coordz_vector, and woss::WossTest::WossTest().

Here is the call graph for this function:

◆ ~WossBellhopTest()

virtual WossBellhopTest::~WossBellhopTest ( )
overridevirtualdefault

Member Function Documentation

◆ doConfig()

void WossBellhopTest::doConfig ( )
overrideprivatevirtual

Virtual function that allows the derived class to perform its custom configuration phase

Implements woss::WossTest.

References woss::BELLHOP_CREATOR_ARR_FILE_SYNTAX_2, woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_1, coordz_pair_vector, db_path, woss::DECK41_DB_V2_TYPE, frequencies_vector, woss::GEBCO_2D_15_SECONDS_BATHY_TYPE, res_path, rx_coordz_vector, woss::WossTest::setBathyDbFilePath(), woss::WossTest::setBathyDbGebcoFormat(), woss::WossTest::setResDbCreatorDebug(), woss::WossTest::setResDbDebug(), woss::WossTest::setResDbFileName(), woss::WossTest::setResDbFilePath(), woss::WossTest::setResDbUseBinary(), woss::WossTest::setResDbUsePressure(), woss::WossTest::setResDbUseTimeArr(), woss::WossTest::setSedimDbCoordFilePath(), woss::WossTest::setSedimDbMarsdenFilePath(), woss::WossTest::setSedimDbMarsdenOneFilePath(), woss::WossTest::setSedimDeck41DbType(), woss::WossTest::setSspDbFilePath(), woss::WossTest::setSspWoaDbType(), woss::WossTest::setWossBellhopAltimType(), woss::WossTest::setWossBellhopArraySyntax(), woss::WossTest::setWossBellhopBathyMethod(), woss::WossTest::setWossBellhopBathyType(), woss::WossTest::setWossBellhopBeamOptions(), woss::WossTest::setWossBellhopBinName(), woss::WossTest::setWossBellhopMode(), woss::WossTest::setWossBellhopShdSyntax(), woss::WossTest::setWossBoxDepth(), woss::WossTest::setWossBoxRange(), woss::WossTest::setWossClearWorkDir(), woss::WossTest::setWossCreatorDebug(), woss::WossTest::setWossDbManagerDebug(), woss::WossTest::setWossDebug(), woss::WossTest::setWossEvolutionTimeQuantum(), woss::WossTest::setWossFrequencyStep(), woss::WossTest::setWossManagerDebug(), woss::WossTest::setWossManagerSpaceSampling(), woss::WossTest::setWossManagerThreads(), woss::WossTest::setWossManagerTimeEvoActive(), woss::WossTest::setWossManagerUseMultiThread(), woss::WossTest::setWossManagerUseThreadPool(), woss::WossTest::setWossMaxAngle(), woss::WossTest::setWossMinAngle(), woss::WossTest::setWossNormalizedSspDepthSteps(), woss::WossTest::setWossRandomGenStream(), woss::WossTest::setWossRxMaxDepthOffset(), woss::WossTest::setWossRxMaxRangeOffset(), woss::WossTest::setWossRxMinDepthOffset(), woss::WossTest::setWossRxMinRangeOffset(), woss::WossTest::setWossSimTime(), woss::WossTest::setWossSspDepthPrecision(), woss::WossTest::setWossTestDebug(), woss::WossTest::setWossTotalRangeSteps(), woss::WossTest::setWossTotalRays(), woss::WossTest::setWossTotalRuns(), woss::WossTest::setWossTotalRxDepths(), woss::WossTest::setWossTotalRxRanges(), woss::WossTest::setWossTotalTransmitters(), woss::WossTest::setWossTxMaxDepthOffset(), woss::WossTest::setWossTxMinDepthOffset(), woss::WossTest::setWossUseThorpeAtt(), woss::WossTest::setWossWorkDirPath(), skip_single_tests, tx_coordz_vector, woss::WOA_DB_TYPE_2013, and woss::BellhopWoss::WOSS_BELLHOP_BIN_NAME.

◆ doInit()

void WossBellhopTest::doInit ( )
overrideprivatevirtual

Virtual function that allows the derived class to perform its custom initialization phase

Implements woss::WossTest.

References db_path, and woss::WossTest::woss_db_manager.

◆ doRun()

◆ setRxCoordZVector()

void WossBellhopTest::setRxCoordZVector ( vector< CoordZ > & rx)
inline

References rx_coordz_vector.

◆ setTxCoordZVector()

void WossBellhopTest::setTxCoordZVector ( vector< CoordZ > & tx)
inline

References tx_coordz_vector.

Member Data Documentation

◆ coordz_pair_vector

CoordZPairVect WossBellhopTest::coordz_pair_vector
private

Referenced by doConfig(), and doRun().

◆ db_path

string WossBellhopTest::db_path
private

Referenced by doConfig(), doInit(), and WossBellhopTest().

◆ frequencies_vector

vector<double> WossBellhopTest::frequencies_vector
private

Referenced by doConfig(), doRun(), and WossBellhopTest().

◆ res_path

string WossBellhopTest::res_path
private

Referenced by doConfig(), doRun(), and WossBellhopTest().

◆ rx_coordz_vector

vector<CoordZ> WossBellhopTest::rx_coordz_vector
private

◆ skip_single_tests

bool WossBellhopTest::skip_single_tests = false
private

Referenced by doConfig(), and doRun().

◆ tx_coordz_vector

vector<CoordZ> WossBellhopTest::tx_coordz_vector
private

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