World Ocean Simulation System (WOSS) library
woss::BellhopWoss Class Reference

Implempentation of ACToolboxWoss for Bellhop raytracing program. More...

#include <bellhop-woss.h>

Inheritance diagram for woss::BellhopWoss:
Inheritance graph
Collaboration diagram for woss::BellhopWoss:
Collaboration graph

Public Member Functions

 BellhopWoss ()
 BellhopWoss (const CoordZ &tx, const CoordZ &rx, const Time &start_t, const Time &end_t, double start_freq, double end_freq, double freq_step)
 BellhopWoss (const BellhopWoss &copy)=default
 BellhopWoss (BellhopWoss &&tmp)=default
virtual ~BellhopWoss () override=default
BellhopWossoperator= (const BellhopWoss &copy)=default
BellhopWossoperator= (BellhopWoss &&tmp)=default
virtual bool initialize () override
virtual bool initPressResReader (double curr_frequency)
virtual bool initTimeArrResReader (double curr_frequency)
virtual bool run () override
virtual bool timeEvolve (const Time &time_value) override
virtual bool isValid () const override
virtual std::unique_ptr< PressuregetAvgPressure (double frequency, double tx_depth, double start_rx_depth=WOSS_MIN_DEPTH, double start_rx_range=WOSS_MIN_RANGE, double end_rx_depth=WOSS_MAX_DEPTH, double end_rx_range=WOSS_MAX_RANGE) const
virtual std::unique_ptr< PressuregetPressure (double frequency, double tx_depth, double rx_depth, double rx_range) const
virtual std::unique_ptr< TimeArrgetTimeArr (double frequency, double tx_depth, double rx_depth, double rx_range) const
BellhopWosssetThorpeAttFlag (bool flag)
BellhopWosssetTxMinDepthOffset (double offset)
BellhopWosssetTxMaxDepthOffset (double offset)
BellhopWosssetTotalTransmitters (int sources)
BellhopWosssetRxMinDepthOffset (double offset)
BellhopWosssetRxMaxDepthOffset (double offset)
BellhopWosssetRxMinRangeOffset (double offset)
BellhopWosssetRxMaxRangeOffset (double offset)
BellhopWosssetRxTotalDepths (int number)
BellhopWosssetRxTotalRanges (int number)
BellhopWosssetRaysNumber (int number)
BellhopWosssetMinAngle (double angle)
BellhopWosssetMaxAngle (double angle)
BellhopWosssetBoxDepth (double depth)
BellhopWosssetBoxRange (double range)
BellhopWosssetBellhopPath (const std::string &path)
BellhopWosssetBellhopBinName (const std::string &name)
BellhopWosssetBellhopArrSyntax (BellhopArrSyntax syntax)
BellhopWosssetBellhopShdSyntax (BellhopShdSyntax syntax)
BellhopWosssetBeamOptions (const std::string &options)
BellhopWosssetBhMode (const std::string &mode)
BellhopWosssetBathymetryType (const std::string &type)
BellhopWosssetBathymetryMethod (const std::string &type)
BellhopWosssetAltimetryType (const std::string &type)
BellhopWosssetTransducer (std::unique_ptr< Transducer > ptr)
BellhopWosssetTransformSSPDepthSteps (int depth_steps)
BellhopWosssetBeamPatternParam (double init_bearing, double vert_rot=0.0, double horiz_rot=0.0, double mult=1.0, double add=0.0)
bool getThorpeAttFlag () const
double getTxMinDepthOffset () const
double getTxMaxDepthOffset () const
int getTotalTransmitters () const
double getRxMinDepthOffset () const
double getRxMaxDepthOffset () const
double getRxMinRangeOffset () const
double getRxMaxRangeOffset () const
int getRxTotalDepths () const
int getRxTotalRanges () const
int getRaysNumber () const
double getMinAngle () const
double getMaxAngle () const
double getBoxDepth () const
double getBoxRange () const
int getTransformSSPDepthSteps () const
std::string getBellhopPath () const
std::string getBellhopBinName () const
BellhopArrSyntax getBellhopArrSyntax () const
BellhopShdSyntax getBellhopShdSyntax () const
std::string getBeamOptions () const
std::string getBathymetryType () const
std::string getBathymetryMethod () const
std::string getAltimetryType () const
std::unique_ptr< TransducergetTransducer () const
bool isValidBhMode (const std::string &) const
bool usingPressMode () const
bool usingTimeArrMode () const
bool usingSSPFile () const
Public Member Functions inherited from woss::ACToolboxWoss
 ACToolboxWoss ()
 ACToolboxWoss (const CoordZ &tx, const CoordZ &rx, const Time &start_t, const Time &end_t, double start_freq, double end_freq, double freq_step)
virtual ~ACToolboxWoss () override=default
ACToolboxWosssetRangeSteps (int steps)
ACToolboxWosssetSSPDepthPrecision (long double precision)
int getRangeSteps () const
long double getSSPDepthPrecision () const
int getMinSSPDepthSteps () const
int getMaxSSPDepthSteps () const
double getMinSSPDepth () const
double getMaxSSPDepth () const
double getMinBathymteryDepth () const
double getMaxBathymetryDepth () const
Public Member Functions inherited from woss::WossResReader
 WossResReader ()=default
 WossResReader (const CoordZ &tx, const CoordZ &rx, const Time &start_t, const Time &end_t, double start_freq, double end_freq, double freq_step)
virtual ~WossResReader () override=default
Public Member Functions inherited from woss::Woss
 Woss ()
 Woss (const CoordZ &tx, const CoordZ &rx, const Time &start_t, const Time &end_t, double start_freq, double end_freq, double freq_step)
virtual ~Woss ()
WosssetDebug (bool flag)
WosssetCleanWorkDir (bool flag)
WosssetWorkDirPath (const std::string &path)
WosssetWossDbManager (const std::shared_ptr< WossDbManager > &ptr)
WossinsertFrequency (double freq)
WossinsertFrequencies (double freq_start, double freq_end, double freq_step)
WosssetFrequencies (const FreqSet &freq_set)
WosseraseFrequency (double freq)
WossclearFrequencies ()
WosssetTotalRuns (int runs)
WosssetTxCoordZ (const CoordZ &coordz)
WosssetRxCoordZ (const CoordZ &coordz)
WosssetStartTime (const Time &start_t)
WosssetEndTime (const Time &end_t)
WosssetEvolutionTimeQuantum (double value)
int getWossId () const
std::string getWorkDirPath () const
const FreqSetgetFrequencies () const
double getMinFrequency () const
double getMaxFrequency () const
FreqSCIt freq_begin () const
FreqSCIt freq_end () const
FreqSCRIt freq_rbegin () const
FreqSCRIt freq_rend () const
FreqSCIt freq_lower_bound (double frequency) const
FreqSCIt freq_upper_bound (double frequency) const
int getTotalRuns () const
CoordZ getTxCoordZ () const
CoordZ getRxCoordZ () const
Time getStartTime () const
Time getCurrentTime () const
Time getEndTime () const
double getEvolutionTimeQuantum () const
double getGreatCircleDistance () const
double getDistance () const
double getBearing () const
bool usingDebug () const
virtual bool isRunning () const

Static Public Attributes

static constexpr const char * WOSS_BELLHOP_BIN_NAME = "bellhop.exe"
static constexpr const char * WOSS_BELLHOPCXX_BIN_NAME = "bellhopcxx"
static constexpr const char * WOSS_BELLHOPCUDA_BIN_PATH = "bellhopcuda"

Protected Member Functions

virtual void normalizeDbSSP ()
virtual void resetNormalizedDbSSP ()
bool initResReader (double curr_frequency)
void initBox (double depth, double range)
void initCfgFiles (double curr_frequency, int curr_run)
void writeCfgFiles (double curr_frequency, int curr_run)
void writeAllCfgFiles ()
void writeNormalizedSSP (int curr_run)
void writeSediment ()
void writeHeader (double curr_frequency, int curr_run)
void writeTransmitter ()
void writeReceiver ()
void writeRayOptions ()
void writeBox ()
void writeBeamBlock ()
void writeBathymetryFile ()
void writeBeamPatternFile ()
void writeAltimetryFile (int curr_run)
void removeAllCfgFiles ()
void removeCfgFiles (double curr_frequency, int curr_run)
void checkBoundaries (double &frequency, double &tx_depth, double &rx_start_depth, double &rx_start_range, double &rx_end_depth, double &rx_end_range) const
void checkDepthOffsets ()
void checkDepthOffsets (const CoordZ &coords, double &min_offset, double &max_offset, double min_depth_value, double max_depth_value)
void checkAngles ()
void checkRangeOffsets ()
Protected Member Functions inherited from woss::ACToolboxWoss
virtual bool checkSSPUnicity (const SSP &ptr) const
virtual bool checkSedimentUnicity (const Sediment &ptr) const
virtual bool initRangeVector ()
virtual bool initCoordZVector ()
virtual bool initSedimentMap ()
virtual void resetSedimentMap ()
virtual bool initAltimetry ()
virtual bool initSSPMap ()
virtual void resetSSPMap ()
Protected Member Functions inherited from woss::WossResReader
void clearResReaderMap ()
Protected Member Functions inherited from woss::Woss
virtual bool mkWorkDir (double curr_frequency, int curr_run=0)
virtual bool rmWorkDir (double curr_frequency, int curr_run=0)
virtual bool rmWorkDir ()

Protected Attributes

bool use_thorpe_att
std::string beam_options
std::string bathymetry_type
std::string bathymetry_method
std::string altimetry_type
std::string bellhop_op_mode
std::string bellhop_env_file
std::string bathymetry_file
std::string altimetry_file
std::string beam_pattern_file
std::string ssp_file
std::string shd_file
std::string arr_file
std::string bellhop_path
std::string bellhop_bin_name
BellhopArrSyntax bellhop_arr_syntax
BellhopShdSyntax bellhop_shd_syntax
std::string curr_path
std::string transducer_type
double tx_min_depth_offset
double tx_max_depth_offset
int total_transmitters
int total_rx_depths
double rx_min_depth_offset
double rx_max_depth_offset
int total_rx_ranges
double rx_min_range_offset
double rx_max_range_offset
int total_rays
double min_angle
double max_angle
double min_normalized_ssp_depth
double max_normalized_ssp_depth
int curr_norm_ssp_depth_steps
int transform_ssp_depth_steps
std::unique_ptr< Transducertransducer
double bp_initial_bearing
double bp_vertical_rotation
double bp_horizontal_rotation
double bp_mult_costant
double bp_add_costant
bool using_ssp_file
bool using_press_mode
bool using_time_arrival_mode
NormSSPMap normalized_ssp_map
NormSSPMap randomized_ssp_map
double box_depth
double box_range
std::ofstream f_out
Protected Attributes inherited from woss::ACToolboxWoss
long double ssp_depth_precision
double min_bathymetry_depth
double max_bathymetry_depth
double min_altimetry_depth
double max_altimetry_depth
std::set< double > min_ssp_depth_set
std::set< double > max_ssp_depth_set
int min_ssp_depth_steps
int max_ssp_depth_steps
int total_range_steps
CoordZVector coordz_vector
RangeVector range_vector
SSPMap ssp_map
SedimentMap sediment_map
std::unique_ptr< Altimetryaltimetry_value
bool is_ssp_map_transformable
Protected Attributes inherited from woss::WossResReader
ResReaderMap res_reader_map
Protected Attributes inherited from woss::Woss
int woss_id
std::string work_dir_path
std::shared_ptr< WossDbManagerdb_manager
Time start_time
Time current_time
Time end_time
double evolution_time_quantum
CoordZ tx_coordz
CoordZ rx_coordz
FreqSet frequencies
double bearing
double total_great_circle_distance
double total_distance
int total_runs
bool debug
std::atomic< bool > has_run_once
std::atomic< bool > is_running
bool has_run_once
volatile bool is_running
bool clean_workdir

Additional Inherited Members

Static Protected Attributes inherited from woss::Woss
static std::atomic< int > woss_counter = 0
static int woss_counter

Detailed Description

Implempentation of ACToolboxWoss for Bellhop raytracing program.

BellhopWoss class has the task to create enviromental file, run Bellhop and read its results.

Constructor & Destructor Documentation

◆ BellhopWoss() [1/4]

BellhopWoss::BellhopWoss ( )

BellhopWoss default constructor. Default constructed objects are not valid

References altimetry_file, altimetry_type, arr_file, bathymetry_file, bathymetry_method, bathymetry_type, beam_options, beam_pattern_file, bellhop_bin_name, bellhop_env_file, bellhop_op_mode, bellhop_path, box_depth, box_range, bp_add_costant, bp_horizontal_rotation, bp_initial_bearing, bp_mult_costant, bp_vertical_rotation, curr_norm_ssp_depth_steps, curr_path, f_out, max_angle, max_normalized_ssp_depth, min_angle, min_normalized_ssp_depth, normalized_ssp_map, randomized_ssp_map, rx_max_depth_offset, rx_max_range_offset, rx_min_depth_offset, rx_min_range_offset, shd_file, ssp_file, total_rays, total_rx_depths, total_rx_ranges, total_transmitters, transducer, transform_ssp_depth_steps, tx_max_depth_offset, tx_min_depth_offset, use_thorpe_att, using_press_mode, using_ssp_file, using_time_arrival_mode, and WOSS_BELLHOP_BIN_NAME.

Referenced by BellhopWoss(), BellhopWoss(), operator=(), operator=(), setAltimetryType(), setBathymetryMethod(), setBathymetryType(), setBeamOptions(), setBeamPatternParam(), setBellhopArrSyntax(), setBellhopBinName(), setBellhopPath(), setBellhopShdSyntax(), setBhMode(), setBoxDepth(), setBoxRange(), setMaxAngle(), setMinAngle(), setRaysNumber(), setRxMaxDepthOffset(), setRxMaxRangeOffset(), setRxMinDepthOffset(), setRxMinRangeOffset(), setRxTotalDepths(), setRxTotalRanges(), setThorpeAttFlag(), setTotalTransmitters(), setTransducer(), setTransformSSPDepthSteps(), setTxMaxDepthOffset(), and setTxMinDepthOffset().

◆ BellhopWoss() [2/4]

BellhopWoss::BellhopWoss ( const CoordZ & tx,
const CoordZ & rx,
const Time & start_t,
const Time & end_t,
double start_freq,
double end_freq,
double freq_step )

BellhopWoss constructor

Parameters
txconst reference to a valid CoordZ object ( transmitter )
rxconst reference to a valid CoordZ object ( receiver )
start_tconst reference to a valid Time object for SSP's averaging purposes ( start date time )
end_tconst reference to a valid Time object for SSP's averaging purposes ( end date time )
start_freqstart frequency [Hz]
end_freqend frequency [Hz]
freq_stepfrequency step [Hz]

References woss::ACToolboxWoss::ACToolboxWoss(), altimetry_file, altimetry_type, arr_file, bathymetry_file, bathymetry_method, bathymetry_type, beam_options, beam_pattern_file, bellhop_env_file, bellhop_op_mode, bellhop_path, box_depth, box_range, bp_add_costant, bp_horizontal_rotation, bp_initial_bearing, bp_mult_costant, bp_vertical_rotation, curr_norm_ssp_depth_steps, curr_path, f_out, max_angle, max_normalized_ssp_depth, min_angle, min_normalized_ssp_depth, normalized_ssp_map, randomized_ssp_map, rx_max_depth_offset, rx_max_range_offset, rx_min_depth_offset, rx_min_range_offset, shd_file, ssp_file, total_rays, total_rx_depths, total_rx_ranges, total_transmitters, transducer, transform_ssp_depth_steps, tx_max_depth_offset, tx_min_depth_offset, using_press_mode, using_ssp_file, and using_time_arrival_mode.

Here is the call graph for this function:

◆ BellhopWoss() [3/4]

woss::BellhopWoss::BellhopWoss ( const BellhopWoss & copy)
default

References BellhopWoss().

Here is the call graph for this function:

◆ BellhopWoss() [4/4]

woss::BellhopWoss::BellhopWoss ( BellhopWoss && tmp)
default

References BellhopWoss().

Here is the call graph for this function:

◆ ~BellhopWoss()

virtual woss::BellhopWoss::~BellhopWoss ( )
overridevirtualdefault

Member Function Documentation

◆ checkAngles()

void BellhopWoss::checkAngles ( )
protected

Checks the consistency of given launching angle and modifies them if needed

References woss::Woss::debug, max_angle, min_angle, woss::Woss::total_distance, woss::Woss::total_great_circle_distance, and woss::Woss::woss_id.

Referenced by initialize().

◆ checkBoundaries()

void BellhopWoss::checkBoundaries ( double & frequency,
double & tx_depth,
double & rx_start_depth,
double & rx_start_range,
double & rx_end_depth,
double & rx_end_range ) const
protected

Checks parameters passed by a WossManager request and modifies them in place if they are not consistent with data

Parameters
frequencyfrequency [Hz]
tx_depthtransmitter depth [m]
rx_start_depthreceiver start depth [m]
rx_start_rangereceiver start range [m]
rx_end_depthreceiver end depth [m]
rx_end_rangereceiver end range [m]

References woss::Woss::frequencies, woss::Woss::rx_coordz, rx_max_depth_offset, rx_max_range_offset, rx_min_depth_offset, rx_min_range_offset, woss::Woss::total_great_circle_distance, woss::Woss::tx_coordz, tx_max_depth_offset, and tx_min_depth_offset.

Referenced by getAvgPressure(), getPressure(), and getTimeArr().

◆ checkDepthOffsets() [1/2]

void BellhopWoss::checkDepthOffsets ( )
protected

◆ checkDepthOffsets() [2/2]

void BellhopWoss::checkDepthOffsets ( const CoordZ & coords,
double & min_offset,
double & max_offset,
double min_depth_value,
double max_depth_value )
protected

Checks the consistency of input offsets and modifies them if needed

Parameters
coords3-D coordinates of the point to be tested
min_offsetmin offset to be tested [m]
max_offsetmax offset to be tested [m]
min_depth_valuemin depth value of point to be tested [m]
max_depth_valuemax depth value of point to be tested [m]

References woss::Woss::debug, woss::CoordZ::getDepth(), woss::Coord::getLatitude(), woss::Coord::getLongitude(), and woss::Woss::woss_id.

Here is the call graph for this function:

◆ checkRangeOffsets()

void BellhopWoss::checkRangeOffsets ( )
protected

Checks the consistency of rx range offsets and modifies them if needed

References woss::Woss::debug, woss::Woss::rx_coordz, rx_max_range_offset, rx_min_range_offset, woss::Woss::total_great_circle_distance, woss::Woss::tx_coordz, and woss::Woss::woss_id.

Referenced by initialize().

◆ getAltimetryType()

std::string woss::BellhopWoss::getAltimetryType ( ) const
inline

Gets altimetry type string

Returns
"C" or "L"

References altimetry_type.

◆ getAvgPressure()

std::unique_ptr< Pressure > BellhopWoss::getAvgPressure ( double frequency,
double tx_depth,
double start_rx_depth = WOSS_MIN_DEPTH,
double start_rx_range = WOSS_MIN_RANGE,
double end_rx_depth = WOSS_MAX_DEPTH,
double end_rx_range = WOSS_MAX_RANGE ) const
virtual

Gets the average Pressure value in given rx range-depth box

Parameters
frequencyfrequency [hZ]
tx_depthtransmitter depth [m]
start_rx_depthstart receiver depth [m]
start_rx_rangestart receiver range [m]
end_rx_depthend receiver depth [m]
end_rx_rangeend receiver range [m]
Returns
a std::unique_ptr to a valid Pressure value; a not valid Pressure if shd_file hasn't been read yet

Implements woss::Woss.

References checkBoundaries(), woss::WossResReader::res_reader_map, woss::Woss::total_runs, and using_press_mode.

Here is the call graph for this function:

◆ getBathymetryMethod()

std::string woss::BellhopWoss::getBathymetryMethod ( ) const
inline

Gets bathymetry write method string

Returns
"S" or "D"

References bathymetry_method.

◆ getBathymetryType()

std::string woss::BellhopWoss::getBathymetryType ( ) const
inline

Gets bathymetry type string

Returns
"C" or "L"

References bathymetry_type.

◆ getBeamOptions()

std::string woss::BellhopWoss::getBeamOptions ( ) const
inline

Gets the beam option string

Returns
"R" , "B", "C" or "G"

References beam_options.

◆ getBellhopArrSyntax()

BellhopArrSyntax woss::BellhopWoss::getBellhopArrSyntax ( ) const
inline

◆ getBellhopBinName()

std::string woss::BellhopWoss::getBellhopBinName ( ) const
inline

Gets the bellhop binary name

Returns
bellhop binary name

References bellhop_bin_name.

Referenced by WossUnitTest::testBellhopWoss().

◆ getBellhopPath()

std::string woss::BellhopWoss::getBellhopPath ( ) const
inline

Gets the path of bellhop program

Returns
path of bellhop program

References bellhop_path.

Referenced by WossUnitTest::testBellhopWoss().

◆ getBellhopShdSyntax()

BellhopShdSyntax woss::BellhopWoss::getBellhopShdSyntax ( ) const
inline

◆ getBoxDepth()

double woss::BellhopWoss::getBoxDepth ( ) const
inline

Gets the maximum ray depth

Returns
maximum ray depth

References box_depth.

◆ getBoxRange()

double woss::BellhopWoss::getBoxRange ( ) const
inline

Gets the maximum ray range

Returns
maximum ray range

References box_range.

◆ getMaxAngle()

double woss::BellhopWoss::getMaxAngle ( ) const
inline

Gets the maximum launch angle

Returns
maximum launch angle

References max_angle.

Referenced by WossUnitTest::testBellhopWoss().

◆ getMinAngle()

double woss::BellhopWoss::getMinAngle ( ) const
inline

Gets the minimum launch angle

Returns
minimum launch angle

References min_angle.

Referenced by WossUnitTest::testBellhopWoss().

◆ getPressure()

std::unique_ptr< Pressure > BellhopWoss::getPressure ( double frequency,
double tx_depth,
double rx_depth,
double rx_range ) const
virtual

Gets a Pressure value of given range, depths

Parameters
frequencyfrequency [hZ]
tx_depthtransmitter depth [m]
rx_depthreceiver depth [m]
rx_rangereceiver range [m]
Returns
a std::unique_ptr to a valid Pressure value; a not valid Pressure if shd_file hasn't been read yet

Implements woss::Woss.

References checkBoundaries(), woss::WossResReader::res_reader_map, and woss::Woss::total_runs.

Here is the call graph for this function:

◆ getRaysNumber()

int woss::BellhopWoss::getRaysNumber ( ) const
inline

Gets the total number of launched angles

Returns
number of launched angles

References total_rays.

Referenced by WossUnitTest::testBellhopWoss().

◆ getRxMaxDepthOffset()

double woss::BellhopWoss::getRxMaxDepthOffset ( ) const
inline

Gets the receiver maximum depth offset [m]

Returns
depth offset [m]

References rx_max_depth_offset.

◆ getRxMaxRangeOffset()

double woss::BellhopWoss::getRxMaxRangeOffset ( ) const
inline

Gets the receiver maximum range offset [m]

Returns
range offset [m]

References rx_max_range_offset.

◆ getRxMinDepthOffset()

double woss::BellhopWoss::getRxMinDepthOffset ( ) const
inline

Gets the receiver mimimum depth offset [m]

Returns
depth offset [m]

References rx_min_depth_offset.

◆ getRxMinRangeOffset()

double woss::BellhopWoss::getRxMinRangeOffset ( ) const
inline

Gets the receiver mimimum range offset [m]

Returns
range offset [m]

References rx_min_range_offset.

◆ getRxTotalDepths()

int woss::BellhopWoss::getRxTotalDepths ( ) const
inline

Gets the total number of receiver depths

Returns
number of receiver depths

References total_rx_depths.

◆ getRxTotalRanges()

int woss::BellhopWoss::getRxTotalRanges ( ) const
inline

Gets the total number of receiver ranges

Returns
number of receiver ranges

References total_rx_ranges.

◆ getThorpeAttFlag()

bool woss::BellhopWoss::getThorpeAttFlag ( ) const
inline

Gets the thorpe attenuation flag

Returns
boolean flag

References use_thorpe_att.

Referenced by WossUnitTest::testBellhopWoss().

◆ getTimeArr()

std::unique_ptr< TimeArr > BellhopWoss::getTimeArr ( double frequency,
double tx_depth,
double rx_depth,
double rx_range ) const
virtual

Gets a TimeArr value for given range, depths

Parameters
frequencyfrequency [hZ]
tx_depthtransmitter depth [m]
rx_depthreceiver depth [m]
rx_rangereceiver range [m]
Returns
a std::unique_ptr to a valid TimeArr value; a not valid TimeArr if arr_file hasn't been read yet

Implements woss::Woss.

References checkBoundaries(), woss::Woss::debug, woss::WossResReader::res_reader_map, woss::Woss::total_runs, and woss::Woss::woss_id.

Here is the call graph for this function:

◆ getTotalTransmitters()

int woss::BellhopWoss::getTotalTransmitters ( ) const
inline

Gets the number of transmitters

Returns
number of transmitters

References total_transmitters.

◆ getTransducer()

std::unique_ptr< Transducer > woss::BellhopWoss::getTransducer ( ) const
inline

Gets bathymetry type string

Returns
"C" or "L"

References transducer.

◆ getTransformSSPDepthSteps()

int woss::BellhopWoss::getTransformSSPDepthSteps ( ) const
inline

Returns the depth steps (and possibly transform) of all SSP in use

Returns
transformed SSP depth steps

References transform_ssp_depth_steps.

◆ getTxMaxDepthOffset()

double woss::BellhopWoss::getTxMaxDepthOffset ( ) const
inline

Gets the transmitter maximum depth offset [m]

Returns
depth offset [m]

References tx_max_depth_offset.

◆ getTxMinDepthOffset()

double woss::BellhopWoss::getTxMinDepthOffset ( ) const
inline

Gets the transmitter mimimum depth offset [m]

Returns
depth offset [m]

References tx_min_depth_offset.

◆ initBox()

void woss::BellhopWoss::initBox ( double depth,
double range )
inlineprotected

Initializes the Bellhop box

Parameters
depthbox depth [m]
rangebox range [m]

References box_depth, and box_range.

Referenced by initialize().

◆ initCfgFiles()

void BellhopWoss::initCfgFiles ( double curr_frequency,
int curr_run )
protected

Initializes the configuration file(s)

Parameters
curr_frequencyfrequency in use [Hz]
curr_runcurrent run number

References altimetry_file, arr_file, bathymetry_file, beam_pattern_file, bellhop_env_file, curr_path, woss::Woss::current_time, shd_file, ssp_file, woss::Woss::work_dir_path, and woss::Woss::woss_id.

Referenced by run(), and writeCfgFiles().

◆ initialize()

bool BellhopWoss::initialize ( )
overridevirtual

◆ initPressResReader()

bool BellhopWoss::initPressResReader ( double curr_frequency)
virtual

Initializes the ShdResReader object for given frequency

Parameters
curr_frequencyfrequency in use [Hz]
Returns
true if method succeeded, false otherwise

References woss::WossResReader::res_reader_map, and shd_file.

Referenced by initResReader().

◆ initResReader()

bool BellhopWoss::initResReader ( double curr_frequency)
protectedvirtual

Initializes the ResReader object for given frequency

Parameters
curr_frequencyfrequency in use [Hz]
Returns
true if method succeeded, false otherwise

Implements woss::WossResReader.

References initialize(), initPressResReader(), initTimeArrResReader(), woss::WossResReader::res_reader_map, using_press_mode, and using_time_arrival_mode.

Referenced by run().

Here is the call graph for this function:

◆ initTimeArrResReader()

bool BellhopWoss::initTimeArrResReader ( double curr_frequency)
virtual

Initializes the ArrAscResReader or ArrBinResReader object for given frequency

Parameters
curr_frequencyfrequency in use [Hz]
Returns
true if method succeeded, false otherwise

References arr_file, bellhop_op_mode, and woss::WossResReader::res_reader_map.

Referenced by initResReader().

◆ isValid()

bool BellhopWoss::isValid ( ) const
overridevirtual

Checks the validity of Woss

Returns
true if it's valid, false otherwise

Reimplemented from woss::ACToolboxWoss.

References bellhop_op_mode, woss::ACToolboxWoss::isValid(), isValidBhMode(), max_angle, min_angle, woss::ACToolboxWoss::total_range_steps, total_rays, total_rx_depths, total_rx_ranges, and total_transmitters.

Referenced by initialize(), and WossUnitTest::testBellhopWoss().

Here is the call graph for this function:

◆ isValidBhMode()

bool woss::BellhopWoss::isValidBhMode ( const std::string & mode) const
inline

Checks the validity of Bellhop run mode

Returns
true if it's valid, false otherwise

Referenced by isValid(), and setBhMode().

◆ normalizeDbSSP()

◆ operator=() [1/2]

BellhopWoss & woss::BellhopWoss::operator= ( BellhopWoss && tmp)
default

References BellhopWoss().

Here is the call graph for this function:

◆ operator=() [2/2]

BellhopWoss & woss::BellhopWoss::operator= ( const BellhopWoss & copy)
default

References BellhopWoss().

Here is the call graph for this function:

◆ removeAllCfgFiles()

void BellhopWoss::removeAllCfgFiles ( )
protected

Writes all configuration files

References woss::Woss::frequencies, removeCfgFiles(), and woss::Woss::total_runs.

Here is the call graph for this function:

◆ removeCfgFiles()

void BellhopWoss::removeCfgFiles ( double curr_frequency,
int curr_run )
protected

Removes the configuration file(s)

Parameters
curr_frequencyfrequency in use [Hz]
curr_runcurrent run number

References woss::Woss::rmWorkDir().

Referenced by removeAllCfgFiles().

Here is the call graph for this function:

◆ resetNormalizedDbSSP()

void BellhopWoss::resetNormalizedDbSSP ( )
protectedvirtual

Deletes all normalized SSPs

References normalized_ssp_map.

Referenced by initialize(), and writeCfgFiles().

◆ run()

bool BellhopWoss::run ( )
overridevirtual

Runs the channel simulator. It is mandatory to set has_run to true before returning from this function

Returns
true if method was successful, false otherwise

Implements woss::Woss.

References bellhop_arr_syntax, bellhop_bin_name, woss::BELLHOP_CREATOR_ARR_FILE_INVALID, woss::BELLHOP_CREATOR_SHD_FILE_INVALID, bellhop_path, bellhop_shd_syntax, curr_path, woss::Woss::debug, woss::Woss::frequencies, woss::Woss::has_run_once, initCfgFiles(), initResReader(), woss::Woss::is_running, woss::Woss::total_runs, and woss::Woss::woss_id.

Here is the call graph for this function:

◆ setAltimetryType()

BellhopWoss & woss::BellhopWoss::setAltimetryType ( const std::string & type)
inline

Sets the altimetry type ( L, C). See Bellhop documentation for more info

Parameters
typebeam options
Returns
reference to *this

References altimetry_type, and BellhopWoss().

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBathymetryMethod()

BellhopWoss & woss::BellhopWoss::setBathymetryMethod ( const std::string & type)
inline

Sets the bathymetry write method (S, D)

Parameters
typebeam options
Returns
reference to *this

References bathymetry_method, and BellhopWoss().

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBathymetryType()

BellhopWoss & woss::BellhopWoss::setBathymetryType ( const std::string & type)
inline

Sets the bathymetry type ( L, C). See Bellhop documentation for more info

Parameters
typebeam options
Returns
reference to *this

References bathymetry_type, and BellhopWoss().

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBeamOptions()

BellhopWoss & woss::BellhopWoss::setBeamOptions ( const std::string & options)
inline

Sets the beam option string . See Bellhop documentation for more info

Parameters
optionsbeam options ( G, C, R , B)
Returns
reference to *this

References beam_options, and BellhopWoss().

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBeamPatternParam()

BellhopWoss & woss::BellhopWoss::setBeamPatternParam ( double init_bearing,
double vert_rot = 0.0,
double horiz_rot = 0.0,
double mult = 1.0,
double add = 0.0 )
inline

Sets the transmitter beam pattern

Parameters
typevalid woss::BeamPattern
Returns
reference to *this

References BellhopWoss(), bp_add_costant, bp_horizontal_rotation, bp_initial_bearing, bp_mult_costant, and bp_vertical_rotation.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBellhopArrSyntax()

BellhopWoss & woss::BellhopWoss::setBellhopArrSyntax ( BellhopArrSyntax syntax)
inline

Sets the bellhop arr file syntax

Parameters
syntaxsyntax to be used
Returns
reference to *this

References bellhop_arr_syntax, and BellhopWoss().

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBellhopBinName()

BellhopWoss & woss::BellhopWoss::setBellhopBinName ( const std::string & name)
inline

Sets the bellhop binary name

Parameters
namebinary name
Returns
reference to *this

References bellhop_bin_name, and BellhopWoss().

Referenced by woss::BellhopCreator::initializeBhWoss(), and WossUnitTest::testBellhopWoss().

Here is the call graph for this function:

◆ setBellhopPath()

BellhopWoss & woss::BellhopWoss::setBellhopPath ( const std::string & path)
inline

Sets the path of bellhop program

Parameters
pathfilesystem path
Returns
reference to *this

References bellhop_path, and BellhopWoss().

Referenced by woss::BellhopCreator::initializeBhWoss(), and WossUnitTest::testBellhopWoss().

Here is the call graph for this function:

◆ setBellhopShdSyntax()

BellhopWoss & woss::BellhopWoss::setBellhopShdSyntax ( BellhopShdSyntax syntax)
inline

Sets the bellhop shd file syntax

Parameters
syntaxsyntax to be used
Returns
reference to *this

References bellhop_shd_syntax, and BellhopWoss().

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBhMode()

BellhopWoss & BellhopWoss::setBhMode ( const std::string & mode)

Sets the Bellhop run mode string. See Bellhop documentation for more info

Parameters
modeBellhop run mode ( A, a , C, I , S)
Returns
reference to *this

References bellhop_op_mode, BellhopWoss(), isValidBhMode(), using_press_mode, using_time_arrival_mode, and woss::Woss::woss_id.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBoxDepth()

BellhopWoss & woss::BellhopWoss::setBoxDepth ( double depth)
inline

Sets the maximum depth for Bellhop rays

Parameters
depthmaximum ray depth [m]
Returns
reference to *this

References BellhopWoss(), and box_depth.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setBoxRange()

BellhopWoss & woss::BellhopWoss::setBoxRange ( double range)
inline

Sets the maximum range for Bellhop rays

Parameters
rangemaximum ray range [m]
Returns
reference to *this

References BellhopWoss(), and box_range.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setMaxAngle()

BellhopWoss & woss::BellhopWoss::setMaxAngle ( double angle)
inline

Sets the maximum launch angle for all BellhopWoss that will be created

Parameters
anglenumber of launched rays (>= 0)
Returns
reference to *this

References BellhopWoss(), and max_angle.

Referenced by woss::BellhopCreator::initializeBhWoss(), and WossUnitTest::testBellhopWoss().

Here is the call graph for this function:

◆ setMinAngle()

BellhopWoss & woss::BellhopWoss::setMinAngle ( double angle)
inline

Sets the mimimum launch angle for all BellhopWoss that will be created

Parameters
anglenumber of launched rays (>= 0)
Returns
reference to *this

References BellhopWoss(), and min_angle.

Referenced by woss::BellhopCreator::initializeBhWoss(), and WossUnitTest::testBellhopWoss().

Here is the call graph for this function:

◆ setRaysNumber()

BellhopWoss & woss::BellhopWoss::setRaysNumber ( int number)
inline

Sets the number of launched rays

Parameters
numbernumber of launched rays (>= 0)
Returns
reference to *this

References BellhopWoss(), and total_rays.

Referenced by woss::BellhopCreator::initializeBhWoss(), and WossUnitTest::testBellhopWoss().

Here is the call graph for this function:

◆ setRxMaxDepthOffset()

BellhopWoss & woss::BellhopWoss::setRxMaxDepthOffset ( double offset)
inline

Sets the receiver maximum depth offset [m]

Parameters
offset0 <= depth offset <= 0 [m]
Returns
reference to *this

References BellhopWoss(), and rx_max_depth_offset.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setRxMaxRangeOffset()

BellhopWoss & woss::BellhopWoss::setRxMaxRangeOffset ( double offset)
inline

Sets the receiver maximum depth offset [m]

Parameters
offset-total_distance <= range offset <= total_distance [m]
Returns
reference to *this

References BellhopWoss(), and rx_max_range_offset.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setRxMinDepthOffset()

BellhopWoss & woss::BellhopWoss::setRxMinDepthOffset ( double offset)
inline

Sets the receiver mimimum depth offset [m]

Parameters
offset0 <= depth offset <= 0 [m]
Returns
reference to *this

References BellhopWoss(), and rx_min_depth_offset.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setRxMinRangeOffset()

BellhopWoss & woss::BellhopWoss::setRxMinRangeOffset ( double offset)
inline

Sets the receiver mimimum range offset [m]

Parameters
offset-total_distance <= range offset <= total_distance [m]
Returns
reference to *this

References BellhopWoss(), and rx_min_range_offset.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setRxTotalDepths()

BellhopWoss & woss::BellhopWoss::setRxTotalDepths ( int number)
inline

Sets the number of receiver depths

Parameters
numbernumber of receiver depths
Returns
reference to *this

References BellhopWoss(), and total_rx_depths.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setRxTotalRanges()

BellhopWoss & woss::BellhopWoss::setRxTotalRanges ( int number)
inline

Sets the number of receiver ranges

Parameters
numbernumber of receiver ranges
Returns
reference to *this

References BellhopWoss(), and total_rx_ranges.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setThorpeAttFlag()

BellhopWoss & woss::BellhopWoss::setThorpeAttFlag ( bool flag)
inline

Sets the thorpe attenuation flag

Parameters
flagboolean flag
Returns
reference to *this

References BellhopWoss(), and use_thorpe_att.

Referenced by woss::BellhopCreator::initializeBhWoss(), and WossUnitTest::testBellhopWoss().

Here is the call graph for this function:

◆ setTotalTransmitters()

BellhopWoss & woss::BellhopWoss::setTotalTransmitters ( int sources)
inline

Sets the number of transmitters

Parameters
sourcesnumber of transmitters
Returns
reference to *this

References BellhopWoss(), and total_transmitters.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setTransducer()

BellhopWoss & woss::BellhopWoss::setTransducer ( std::unique_ptr< Transducer > ptr)
inline

Sets the transducer type. See TransducerDbCreator for more info

Parameters
typetranducer type
Returns
reference to *this

References BellhopWoss(), and transducer.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setTransformSSPDepthSteps()

BellhopWoss & woss::BellhopWoss::setTransformSSPDepthSteps ( int depth_steps)
inline

Sets the depth steps (and possibly transform) of all SSP in use

Parameters
typebeam options
Returns
reference to *this

References BellhopWoss(), and transform_ssp_depth_steps.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setTxMaxDepthOffset()

BellhopWoss & woss::BellhopWoss::setTxMaxDepthOffset ( double offset)
inline

Sets the transmitter maximum depth offset [m]

Parameters
offset0 <= depth offset <= 0 [m]
Returns
reference to *this

References BellhopWoss(), and tx_max_depth_offset.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ setTxMinDepthOffset()

BellhopWoss & woss::BellhopWoss::setTxMinDepthOffset ( double offset)
inline

Sets the transmitter mimimum depth offset [m]

Parameters
offset0 <= depth offset <= 0 [m]
Returns
reference to *this

References BellhopWoss(), and tx_min_depth_offset.

Referenced by woss::BellhopCreator::initializeBhWoss().

Here is the call graph for this function:

◆ timeEvolve()

bool BellhopWoss::timeEvolve ( const Time & time_value)
overridevirtual

Performs a time evoulion of all time-dependant parameters

Parameters
time_valueconstant reference to a valid Time object (between start_time and end_time)
Returns
true if method was successful, false otherwise

Implements woss::Woss.

References woss::ACToolboxWoss::altimetry_value, woss::Woss::current_time, woss::Woss::debug, woss::Woss::end_time, woss::Woss::evolution_time_quantum, woss::Woss::has_run_once, initialize(), woss::Time::isValid(), woss::Woss::start_time, and woss::Woss::woss_id.

Here is the call graph for this function:

◆ usingPressMode()

bool woss::BellhopWoss::usingPressMode ( ) const
inline

Signals if the instance is using Bellhop in SHD mode ( C, S , I)

Returns
true if it is using it, false otherwise

References using_press_mode.

◆ usingSSPFile()

bool woss::BellhopWoss::usingSSPFile ( ) const
inline

Signals if the instance is using Bellhop with SSP matrix file

Returns
true if it is using it, false otherwise

References using_ssp_file.

◆ usingTimeArrMode()

bool woss::BellhopWoss::usingTimeArrMode ( ) const
inline

Signals if the instance is using Bellhop in ARR mode ( A, a)

Returns
true if it is using it, false otherwise

References using_time_arrival_mode.

◆ writeAllCfgFiles()

void BellhopWoss::writeAllCfgFiles ( )
protected

Writes all configuration files

References woss::Woss::frequencies, woss::Woss::total_runs, and writeCfgFiles().

Referenced by initialize().

Here is the call graph for this function:

◆ writeAltimetryFile()

void BellhopWoss::writeAltimetryFile ( int curr_run)
protected

◆ writeBathymetryFile()

void BellhopWoss::writeBathymetryFile ( )
protected

◆ writeBeamBlock()

void woss::BellhopWoss::writeBeamBlock ( )
inlineprotected

References f_out.

◆ writeBeamPatternFile()

void BellhopWoss::writeBeamPatternFile ( )
protected

◆ writeBox()

void woss::BellhopWoss::writeBox ( )
inlineprotected

Writes the box options in the configuration file(s)

References box_depth, box_range, and f_out.

Referenced by writeCfgFiles().

◆ writeCfgFiles()

void BellhopWoss::writeCfgFiles ( double curr_frequency,
int curr_run )
protected

◆ writeHeader()

void woss::BellhopWoss::writeHeader ( double curr_frequency,
int curr_run )
inlineprotected

Writes the header in the configuration file(s)

Parameters
curr_frequencyfrequency in use [Hz]
curr_runcurrent run number

References f_out, woss::Woss::rx_coordz, woss::Woss::tx_coordz, and woss::Woss::woss_id.

Referenced by writeCfgFiles().

◆ writeNormalizedSSP()

void BellhopWoss::writeNormalizedSSP ( int curr_run)
protected

Writes the normalized SSP matrix in the configuration file(s)

Parameters
curr_runcurrent run number

References woss::ACToolboxWoss::altimetry_value, woss::SSP::begin(), box_range, curr_norm_ssp_depth_steps, woss::SSP::end(), f_out, max_normalized_ssp_depth, min_normalized_ssp_depth, normalized_ssp_map, randomized_ssp_map, ssp_file, use_thorpe_att, and using_ssp_file.

Referenced by writeCfgFiles().

Here is the call graph for this function:

◆ writeRayOptions()

void woss::BellhopWoss::writeRayOptions ( )
inlineprotected

Writes the ray options in the configuration file(s)

References beam_options, bellhop_op_mode, f_out, max_angle, min_angle, total_rays, and transducer.

Referenced by writeCfgFiles().

◆ writeReceiver()

void woss::BellhopWoss::writeReceiver ( )
inlineprotected

◆ writeSediment()

void woss::BellhopWoss::writeSediment ( )
inlineprotected

Writes the db Sediment in the configuration file(s)

References f_out, max_normalized_ssp_depth, and woss::ACToolboxWoss::sediment_map.

Referenced by writeCfgFiles().

◆ writeTransmitter()

void woss::BellhopWoss::writeTransmitter ( )
inlineprotected

Writes the transmitter info in the configuration file(s)

References f_out, total_transmitters, woss::Woss::tx_coordz, tx_max_depth_offset, and tx_min_depth_offset.

Referenced by writeCfgFiles().

Member Data Documentation

◆ altimetry_file

std::string woss::BellhopWoss::altimetry_file
protected

Pathname of Bellhop altimetry file

Referenced by BellhopWoss(), BellhopWoss(), initCfgFiles(), and writeAltimetryFile().

◆ altimetry_type

std::string woss::BellhopWoss::altimetry_type
protected

◆ arr_file

std::string woss::BellhopWoss::arr_file
protected

Pathname of Bellhop ARR file

Referenced by BellhopWoss(), BellhopWoss(), initCfgFiles(), and initTimeArrResReader().

◆ bathymetry_file

std::string woss::BellhopWoss::bathymetry_file
protected

Pathname of Bellhop bathymetry file

Referenced by BellhopWoss(), BellhopWoss(), initCfgFiles(), and writeBathymetryFile().

◆ bathymetry_method

std::string woss::BellhopWoss::bathymetry_method
protected

◆ bathymetry_type

std::string woss::BellhopWoss::bathymetry_type
protected

◆ beam_options

std::string woss::BellhopWoss::beam_options
protected

Bellhop beam options ( G, C, R, B )

Referenced by BellhopWoss(), BellhopWoss(), getBeamOptions(), setBeamOptions(), and writeRayOptions().

◆ beam_pattern_file

std::string woss::BellhopWoss::beam_pattern_file
protected

Pathname of Bellhop beam pattern file

Referenced by BellhopWoss(), BellhopWoss(), initCfgFiles(), and writeBeamPatternFile().

◆ bellhop_arr_syntax

BellhopArrSyntax woss::BellhopWoss::bellhop_arr_syntax
protected

.arr file syntax to be used during file parsing

Referenced by getBellhopArrSyntax(), run(), and setBellhopArrSyntax().

◆ bellhop_bin_name

std::string woss::BellhopWoss::bellhop_bin_name
protected

Bellhop binary name

Referenced by BellhopWoss(), getBellhopBinName(), run(), and setBellhopBinName().

◆ bellhop_env_file

std::string woss::BellhopWoss::bellhop_env_file
protected

Pathname of Bellhop configuration file

Referenced by BellhopWoss(), BellhopWoss(), initCfgFiles(), and writeCfgFiles().

◆ bellhop_op_mode

std::string woss::BellhopWoss::bellhop_op_mode
protected

Bellhop run mode ( A, a, C, I, S )

Referenced by BellhopWoss(), BellhopWoss(), initTimeArrResReader(), isValid(), setBhMode(), and writeRayOptions().

◆ bellhop_path

std::string woss::BellhopWoss::bellhop_path
protected

Pathname of Bellhop program

Referenced by BellhopWoss(), BellhopWoss(), getBellhopPath(), run(), and setBellhopPath().

◆ bellhop_shd_syntax

BellhopShdSyntax woss::BellhopWoss::bellhop_shd_syntax
protected

.shd file syntax to be used during file parsing

Referenced by getBellhopShdSyntax(), run(), and setBellhopShdSyntax().

◆ box_depth

double woss::BellhopWoss::box_depth
protected

Bellhop box depth [m]

Referenced by BellhopWoss(), BellhopWoss(), getBoxDepth(), initBox(), setBoxDepth(), and writeBox().

◆ box_range

double woss::BellhopWoss::box_range
protected

◆ bp_add_costant

double woss::BellhopWoss::bp_add_costant
protected

◆ bp_horizontal_rotation

double woss::BellhopWoss::bp_horizontal_rotation
protected

◆ bp_initial_bearing

double woss::BellhopWoss::bp_initial_bearing
protected

◆ bp_mult_costant

double woss::BellhopWoss::bp_mult_costant
protected

◆ bp_vertical_rotation

double woss::BellhopWoss::bp_vertical_rotation
protected

◆ curr_norm_ssp_depth_steps

int woss::BellhopWoss::curr_norm_ssp_depth_steps
protected

Depth steps of all SSP involved

Referenced by BellhopWoss(), BellhopWoss(), normalizeDbSSP(), and writeNormalizedSSP().

◆ curr_path

std::string woss::BellhopWoss::curr_path
protected

Current working path

Referenced by BellhopWoss(), BellhopWoss(), initCfgFiles(), and run().

◆ f_out

std::ofstream woss::BellhopWoss::f_out
protected

◆ max_angle

double woss::BellhopWoss::max_angle
protected

Maximum launching angle [decimal degrees]

Referenced by BellhopWoss(), BellhopWoss(), checkAngles(), getMaxAngle(), isValid(), setMaxAngle(), and writeRayOptions().

◆ max_normalized_ssp_depth

double woss::BellhopWoss::max_normalized_ssp_depth
protected

◆ min_angle

double woss::BellhopWoss::min_angle
protected

Minimum launching angle [decimal degrees]

Referenced by BellhopWoss(), BellhopWoss(), checkAngles(), getMinAngle(), isValid(), setMinAngle(), and writeRayOptions().

◆ min_normalized_ssp_depth

double woss::BellhopWoss::min_normalized_ssp_depth
protected

Minimum depth of normalized SSP matrix [m]

Referenced by BellhopWoss(), BellhopWoss(), checkDepthOffsets(), normalizeDbSSP(), and writeNormalizedSSP().

◆ normalized_ssp_map

NormSSPMap woss::BellhopWoss::normalized_ssp_map
protected

SSP matrix normalized for Bellhop requirements (same depths and same depth-steps for all SSP involved)

Referenced by BellhopWoss(), BellhopWoss(), normalizeDbSSP(), resetNormalizedDbSSP(), and writeNormalizedSSP().

◆ randomized_ssp_map

NormSSPMap woss::BellhopWoss::randomized_ssp_map
protected

SSP matrix normalized and randomized for Bellhop requirements (same depths and same depth-steps for all SSP involved)

Referenced by BellhopWoss(), BellhopWoss(), and writeNormalizedSSP().

◆ rx_max_depth_offset

double woss::BellhopWoss::rx_max_depth_offset
protected

◆ rx_max_range_offset

double woss::BellhopWoss::rx_max_range_offset
protected

◆ rx_min_depth_offset

double woss::BellhopWoss::rx_min_depth_offset
protected

◆ rx_min_range_offset

double woss::BellhopWoss::rx_min_range_offset
protected

◆ shd_file

std::string woss::BellhopWoss::shd_file
protected

Pathname of Bellhop SHD file

Referenced by BellhopWoss(), BellhopWoss(), initCfgFiles(), and initPressResReader().

◆ ssp_file

std::string woss::BellhopWoss::ssp_file
protected

Pathname of Bellhop SSP file

Referenced by BellhopWoss(), BellhopWoss(), initCfgFiles(), and writeNormalizedSSP().

◆ total_rays

int woss::BellhopWoss::total_rays
protected

Number of launched rays

Referenced by BellhopWoss(), BellhopWoss(), getRaysNumber(), isValid(), setRaysNumber(), and writeRayOptions().

◆ total_rx_depths

int woss::BellhopWoss::total_rx_depths
protected

◆ total_rx_ranges

int woss::BellhopWoss::total_rx_ranges
protected

Number of receiver ranges.

On some configuration (linux distribution / cpu ) bellhop will output an empty file with a value of total_rx_ranges = 1.

Referenced by BellhopWoss(), BellhopWoss(), getRxTotalRanges(), isValid(), setRxTotalRanges(), and writeReceiver().

◆ total_transmitters

int woss::BellhopWoss::total_transmitters
protected

◆ transducer

std::unique_ptr<Transducer> woss::BellhopWoss::transducer
protected

◆ transducer_type

std::string woss::BellhopWoss::transducer_type
protected

◆ transform_ssp_depth_steps

int woss::BellhopWoss::transform_ssp_depth_steps
protected

transformed SSP depth steps. Set <= 0 in order to disable the feature.

Referenced by BellhopWoss(), BellhopWoss(), getTransformSSPDepthSteps(), normalizeDbSSP(), and setTransformSSPDepthSteps().

◆ tx_max_depth_offset

double woss::BellhopWoss::tx_max_depth_offset
protected

◆ tx_min_depth_offset

double woss::BellhopWoss::tx_min_depth_offset
protected

◆ use_thorpe_att

bool woss::BellhopWoss::use_thorpe_att
protected

let bellhop calculate thorpe attenuation

Referenced by BellhopWoss(), getThorpeAttFlag(), setThorpeAttFlag(), and writeNormalizedSSP().

◆ using_press_mode

bool woss::BellhopWoss::using_press_mode
protected

◆ using_ssp_file

bool woss::BellhopWoss::using_ssp_file
protected

◆ using_time_arrival_mode

bool woss::BellhopWoss::using_time_arrival_mode
protected

◆ WOSS_BELLHOP_BIN_NAME

const char* woss::BellhopWoss::WOSS_BELLHOP_BIN_NAME = "bellhop.exe"
inlinestaticconstexpr

◆ WOSS_BELLHOPCUDA_BIN_PATH

const char* woss::BellhopWoss::WOSS_BELLHOPCUDA_BIN_PATH = "bellhopcuda"
inlinestaticconstexpr

bellhopcuda binary path

◆ WOSS_BELLHOPCXX_BIN_NAME

const char* woss::BellhopWoss::WOSS_BELLHOPCXX_BIN_NAME = "bellhopcxx"
inlinestaticconstexpr

bellhopcxx binary name

Referenced by WossUnitTest::testBellhopWoss().


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