World Ocean Simulation System (WOSS) library
bellhop-woss.h
Go to the documentation of this file.
1/* WOSS - World Ocean Simulation System -
2 *
3 * Copyright (C) 2009 Federico Guerra
4 * and regents of the SIGNET lab, University of Padova
5 *
6 * Author: Federico Guerra - federico@guerra-tlc.com
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation;
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21
22/*
23 * This software has been developed by Federico Guerra and SIGNET lab,
24 * University of Padova, in collaboration with the NATO Centre for
25 * Maritime Research and Experimentation (http://www.cmre.nato.int ;
26 * E-mail: pao@cmre.nato.int), whose support is gratefully acknowledged.
27 */
28
39#ifndef WOSS_BELLHOP_H
40#define WOSS_BELLHOP_H
41
42
43#include <iomanip>
44#include <definitions.h>
50#include "ac-toolbox-woss.h"
51
52
53namespace woss {
54
55
56 typedef ::std::map< double, SSP* > NormSSPMap;
57 typedef NormSSPMap::iterator NSMIter;
58 typedef NormSSPMap::const_iterator NSMCIter;
59 typedef NormSSPMap::reverse_iterator NSMRIter;
60 typedef NormSSPMap::const_reverse_iterator NSMCRIter;
61
62 /*
63 * .arr file syntax to be used during parsing
64 */
71
72
73 /*
74 * .shd file syntax to be used during parsing
75 */
77 BELLHOP_CREATOR_SHD_FILE_SYNTAX_0 = 0,
78 BELLHOP_CREATOR_SHD_FILE_SYNTAX_1,
80 };
81
87 class BellhopWoss : public ACToolboxWoss {
88
89
90 public:
91
92
97
108 BellhopWoss(const CoordZ& tx, const CoordZ& rx, const Time& start_t, const Time& end_t, double start_freq, double end_freq, double freq_step ) ;
109
110 virtual ~BellhopWoss();
111
112
117 virtual bool initialize();
118
124 virtual bool initPressResReader( double curr_frequency );
125
131 virtual bool initTimeArrResReader( double curr_frequency );
132
133
139 virtual bool run();
140
141
147 virtual bool timeEvolve( const Time& time_value );
148
153 virtual bool isValid() const;
154
155
156 virtual Pressure* 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;
157
158 virtual Pressure* getPressure( double frequency, double tx_depth, double rx_depth, double rx_range ) const;
159
160
161 virtual TimeArr* getTimeArr( double frequency, double tx_depth, double rx_depth, double rx_range ) const;
162
168 BellhopWoss& setThorpeAttFlag( bool flag ) { use_thorpe_att = flag; return *this; }
169
175 BellhopWoss& setTxMinDepthOffset( double offset ) { tx_min_depth_offset = offset; return *this; }
176
182 BellhopWoss& setTxMaxDepthOffset( double offset ) { tx_max_depth_offset = offset; return *this; }
183
189 BellhopWoss& setTotalTransmitters( int sources ) { total_transmitters = sources; return *this; }
190
196 BellhopWoss& setRxMinDepthOffset( double offset ) { rx_min_depth_offset = offset; return *this; }
197
203 BellhopWoss& setRxMaxDepthOffset( double offset ) { rx_max_depth_offset = offset; return *this; }
204
210 BellhopWoss& setRxMinRangeOffset( double offset ) { rx_min_range_offset = offset; return *this; }
211
217 BellhopWoss& setRxMaxRangeOffset( double offset ) { rx_max_range_offset = offset; return *this; }
218
224 BellhopWoss& setRxTotalDepths( int number ) { total_rx_depths = number; return *this; }
225
231 BellhopWoss& setRxTotalRanges( int number ) { total_rx_ranges = number; return *this; }
232
238 BellhopWoss& setRaysNumber( int number ) { total_rays = number; return *this; }
239
245 BellhopWoss& setMinAngle( double angle ) { min_angle = angle; return *this; }
246
252 BellhopWoss& setMaxAngle( double angle ) { max_angle = angle; return *this; }
253
259 BellhopWoss& setBoxDepth( double depth ) { box_depth = depth; return *this; }
260
266 BellhopWoss& setBoxRange( double range ) { box_range = range; return *this; }
267
273 BellhopWoss& setBellhopPath( const ::std::string& path ) { bellhop_path = path; return *this; }
274
281
288
294 BellhopWoss& setBeamOptions( const ::std::string& options ) { beam_options = options; return *this; }
295
301 BellhopWoss& setBhMode( const ::std::string& mode );
302
308 BellhopWoss& setBathymetryType( const ::std::string& type ) { bathymetry_type = type; return *this; }
309
315 BellhopWoss& setBathymetryMethod( const ::std::string& type ) { bathymetry_method = type; return *this; }
316
322 BellhopWoss& setAltimetryType( const ::std::string& type ) { altimetry_type = type; return *this; }
323
324
330 BellhopWoss& setTransducer( const Transducer* const ptr ) { transducer = ptr; return *this; }
331
332
338 BellhopWoss& setTransformSSPDepthSteps( int depth_steps ) { transform_ssp_depth_steps = depth_steps; return *this; }
339
340
346 BellhopWoss& setBeamPatternParam( double init_bearing, double vert_rot = 0.0, double horiz_rot = 0.0, double mult = 1.0, double add = 0.0 ) {
347 bp_initial_bearing = init_bearing; bp_vertical_rotation = vert_rot; bp_horizontal_rotation = horiz_rot;
348 bp_mult_costant = mult; bp_add_costant = add; return *this; }
349
350
351 // BellhopWoss& useBeamBlock( bool command ) { using_beam_block = command; }
352
357 bool getThorpeAttFlag() const { return use_thorpe_att; }
358
363 double getTxMinDepthOffset() const { return tx_min_depth_offset; }
364
369 double getTxMaxDepthOffset() const { return tx_max_depth_offset; }
370
376
381 double getRxMinDepthOffset() const { return rx_min_depth_offset; }
382
387 double getRxMaxDepthOffset() const { return rx_max_depth_offset; }
388
393 double getRxMinRangeOffset() const { return rx_min_range_offset; }
394
399 double getRxMaxRangeOffset() const { return rx_max_range_offset; }
400
405 int getRxTotalDepths() const { return total_rx_depths; }
406
411 int getRxTotalRanges() const { return total_rx_ranges; }
412
417 int getRaysNumber() const { return total_rays; }
418
423 double getMinAngle() const { return min_angle; }
424
429 double getMaxAngle() const { return max_angle; }
430
435 double getBoxDepth() const { return box_depth; }
436
441 double getBoxRange() const { return box_range; }
442
448
449
454 ::std::string getBellhopPath() const { return bellhop_path; }
455
461
467
472 ::std::string getBeamOptions() const { return beam_options; }
473
478 ::std::string getBathymetryType() const { return bathymetry_type; }
479
484 ::std::string getBathymetryMethod() const { return bathymetry_method; }
485
490 ::std::string getAltimetryType() const { return altimetry_type; }
491
496 const Transducer* const getTransducer() const { return transducer; }
497
498
503 bool isValidBhMode( const ::std::string& ) const ;
504
505
506 // bool usingBeamBlock() const { return using_beam_block; }
507
512 bool usingPressMode() const { return using_press_mode; }
513
518 bool usingTimeArrMode() const { return using_time_arrival_mode; }
519
524 bool usingSSPFile() const { return using_ssp_file; }
525
526
527 protected:
528
533
537 ::std::string beam_options;
538
542 ::std::string bathymetry_type;
543
547 ::std::string bathymetry_method;
548
552 ::std::string altimetry_type;
553
557 ::std::string bellhop_op_mode;
558
559
563 ::std::string bellhop_env_file;
564
568 ::std::string bathymetry_file;
569
573 ::std::string altimetry_file;
574
578 ::std::string beam_pattern_file;
579
580
584 ::std::string ssp_file;
585
589 ::std::string shd_file;
590
594 ::std::string arr_file;
595
599 ::std::string bellhop_path;
600
605
610
614 ::std::string curr_path;
615
616 ::std::string transducer_type;
617
618
623
628
633
634
639
644
649
650
658
663
668
669
674
675
679 double min_angle;
680
684 double max_angle;
685
686
691
696
701
702
707
708
713
714
715 double bp_initial_bearing;
716
717 double bp_vertical_rotation;
718
719 double bp_horizontal_rotation;
720
721 double bp_mult_costant;
722
723 double bp_add_costant;
724
725
726 bool using_ssp_file;
727
728 bool using_press_mode;
729
730 bool using_time_arrival_mode;
731
732 // bool using_beam_block;
733
738
743
747 double box_depth;
748
752 double box_range;
753
754
758 ::std::ofstream f_out;
759
760
764 virtual void normalizeDbSSP();
765
769 virtual void resetNormalizedDbSSP();
770
771// bool initTransducer();
772
778 bool initResReader( double curr_frequency );
779
785 void initBox( double depth, double range );
786
792 void initCfgFiles( double curr_frequency, int curr_run );
793
794
800 void writeCfgFiles( double curr_frequency, int curr_run );
801
805 void writeAllCfgFiles();
806
811 void writeNormalizedSSP( int curr_run );
812
816 void writeSediment();
817
823 void writeHeader( double curr_frequency, int curr_run );
824
828 void writeTransmitter();
829
833 void writeReceiver();
834
838 void writeRayOptions();
839
843 void writeBox();
844
845 void writeBeamBlock();
846
850 void writeBathymetryFile();
851
855 void writeBeamPatternFile();
856
861 void writeAltimetryFile( int curr_run );
862
863
867 void removeAllCfgFiles();
868
874 void removeCfgFiles( double curr_frequency, int curr_run );
875
876
886 void checkBoundaries( double& frequency, double& tx_depth, double& rx_start_depth, double& rx_start_range, double& rx_end_depth, double& rx_end_range ) const;
887
891 void checkDepthOffsets();
892
901 void checkDepthOffsets( const CoordZ& coords, double& min_offset, double& max_offset, double min_depth_value, double max_depth_value );
902
906 void checkAngles();
907
911 void checkRangeOffsets();
912
913
914 };
915
916
917 //inline functions
919 inline bool BellhopWoss::isValidBhMode( const ::std::string& mode ) const {
920 return ( mode == "a" || mode == "A" || mode == "C" || mode == "I" || mode == "S" );
921 }
922
923
924 inline void BellhopWoss::initBox( double depth, double range ) {
925 if(box_depth < 0) //box depth not set by user - default to depth + 10%
926 box_depth = depth + depth / 10.0;
927
928 if(box_range < 0) //box range not set by user - default to range + 10%
929 box_range = range + range / 10.0;
930
931 }
932
933
935 f_out << "\'A*\' 0.0" << ::std::setw(30) << "! BOTTOM TYPE" << ::std::endl
936 << max_normalized_ssp_depth << " " << sediment_map.begin()->second->getStringValues() << " / ! "
937 << sediment_map.begin()->second->getType() << " BOTTOM TYPE " << ::std::endl;
938 }
939
940
941 inline void BellhopWoss::writeHeader( double curr_frequency, int curr_run ) {
942 f_out.precision(WOSS_DECIMAL_PRECISION);
943 f_out << "\'BELLHOP - woss id = " << woss_id << "; run = " << curr_run << "\'" << ::std::endl
944 << curr_frequency << ::std::setw(30) << "! FREQUENCY [HZ]" << ::std::endl
945 << 1 << ::std::setw(30) << "! NMEDIA" << ::std::endl;
946 }
947
948
950 f_out << total_transmitters << ::std::setw(30) << "! NUMBER OF SOURCES" << ::std::endl;
951 if (total_transmitters == 1) f_out << tx_coordz.getDepth() + tx_min_depth_offset << " " << "/" << ::std::setw(30) << "! SOURCE'S DEPTH" << ::std::endl;
953 << " " << "/" << ::std::setw(30) << "! SOURCES' DEPTHS" << ::std::endl;
954 }
955
956
958 f_out << total_rx_depths << ::std::setw(30) << "! NUMBER OF RX DEPTH(S)" << ::std::endl;
959 if (total_rx_depths == 1) f_out << rx_coordz.getDepth() + rx_min_depth_offset << " " << "/" << ::std::setw(30) << "! RX'S DEPTH" << ::std::endl;
960 else f_out << rx_coordz.getDepth() + rx_min_depth_offset << " " << rx_coordz.getDepth() + rx_max_depth_offset << " " << "/"
961 << ::std::setw(30) << "! RX'S DEPTHS" << ::std::endl;
962
963 f_out << total_rx_ranges << ::std::setw(30) << "!NUMBER OF RX RANGE(S)" << ::std::endl;
964 if (total_rx_ranges == 1) f_out << ((total_great_circle_distance + rx_min_range_offset) / 1000.0) << " " << "/" << ::std::setw(30) << "! RX'S RANGE" << ::std::endl;
965 else f_out << ((total_great_circle_distance + rx_min_range_offset) / 1000.0) << " " << ((total_great_circle_distance + rx_max_range_offset)/1000.0) << " " << "/"
966 << ::std::setw(30) << "! RX'S RANGES" << ::std::endl;
967 }
968
969
971 f_out << "\'"<< bellhop_op_mode << beam_options;
972
973 if ( transducer->isValid() ) f_out << "*";
974
975 f_out << "\'" << ::std::setw(30) << "! RAY OPTIONS" << ::std::endl
976 << total_rays << ::std::setw(30) << "! NUMBER OF RAYS" << ::std::endl
977 << min_angle << " " << max_angle << " " << "/" << ::std::setw(30) << "! START, END ANGLES" << ::std::endl;
978 }
979
980
981 inline void BellhopWoss::writeBox() {
982 f_out << "0.0" << " " << box_depth << " " << (box_range/1000.0) << " , "
983 << "! RAY-STEP , BOX DEPTH, BOX RANGE" << ::std::endl;
984 }
985
986
987 inline void BellhopWoss::writeBeamBlock() {
988 f_out << "\'MS\' 1.0 100.0 0," << ::std::endl << "3 5" << ::std::endl;
989 }
990
991
992}
993
994
995#endif /* WOSS_BELLHOP_H */
996
997
998
999
Provides the interface for woss::ArrAscResReader and woss::ArrData classes.
Provides the interface for woss::ArrBinResReader class.
Provides the interface for woss::ShdResReader and woss::ShdData classes.
Provides the interface for woss::ACToolboxWoss class.
BellhopArrSyntax
Definition bellhop-woss.h:65
@ BELLHOP_CREATOR_ARR_FILE_INVALID
invalid syntax, must always be the last element
Definition bellhop-woss.h:69
@ BELLHOP_CREATOR_ARR_FILE_SYNTAX_1
Post 31 August 2016 syntax, with imaginary time delay.
Definition bellhop-woss.h:67
@ BELLHOP_CREATOR_ARR_FILE_SYNTAX_0
Pre 31 august 2016 syntax, without imaginary time delay.
Definition bellhop-woss.h:66
@ BELLHOP_CREATOR_ARR_FILE_SYNTAX_2
Post 31 March 2019 syntax, with different header syntax.
Definition bellhop-woss.h:68
BellhopShdSyntax
Definition bellhop-woss.h:76
@ BELLHOP_CREATOR_SHD_FILE_INVALID
invalid syntax, must always be the last element
Definition bellhop-woss.h:79
base class for implementing acoustic-toolbox channel simulators (Bellhop, Kraken, etc....
Definition ac-toolbox-woss.h:75
SedimentMap sediment_map
Definition ac-toolbox-woss.h:257
Implempentation of ACToolboxWoss for Bellhop raytracing program.
Definition bellhop-woss.h:87
virtual bool initPressResReader(double curr_frequency)
Definition bellhop-woss.cpp:906
void initBox(double depth, double range)
Definition bellhop-woss.h:924
int transform_ssp_depth_steps
Definition bellhop-woss.h:706
int total_rx_ranges
Definition bellhop-woss.h:657
virtual void resetNormalizedDbSSP()
Definition bellhop-woss.cpp:222
double rx_min_range_offset
Definition bellhop-woss.h:662
void writeAltimetryFile(int curr_run)
Definition bellhop-woss.cpp:809
::std::string bellhop_path
Definition bellhop-woss.h:599
BellhopWoss & setTxMaxDepthOffset(double offset)
Definition bellhop-woss.h:182
double min_normalized_ssp_depth
Definition bellhop-woss.h:690
int getRxTotalDepths() const
Definition bellhop-woss.h:405
double getBoxDepth() const
Definition bellhop-woss.h:435
virtual bool timeEvolve(const Time &time_value)
Definition bellhop-woss.cpp:1125
bool isValidBhMode(const ::std::string &) const
Definition bellhop-woss.h:919
int getTransformSSPDepthSteps() const
Definition bellhop-woss.h:447
int total_transmitters
Definition bellhop-woss.h:632
int getTotalTransmitters() const
Definition bellhop-woss.h:375
virtual bool initialize()
Definition bellhop-woss.cpp:883
BellhopArrSyntax bellhop_arr_syntax
Definition bellhop-woss.h:604
void writeBox()
Definition bellhop-woss.h:981
void writeSediment()
Definition bellhop-woss.h:934
double max_normalized_ssp_depth
Definition bellhop-woss.h:695
BellhopWoss & setRaysNumber(int number)
Definition bellhop-woss.h:238
BellhopWoss & setBoxRange(double range)
Definition bellhop-woss.h:266
BellhopWoss & setThorpeAttFlag(bool flag)
Definition bellhop-woss.h:168
bool usingPressMode() const
Definition bellhop-woss.h:512
::std::string beam_pattern_file
Definition bellhop-woss.h:578
NormSSPMap normalized_ssp_map
Definition bellhop-woss.h:737
BellhopWoss & setRxMaxRangeOffset(double offset)
Definition bellhop-woss.h:217
void checkDepthOffsets()
Definition bellhop-woss.cpp:494
virtual Pressure * getPressure(double frequency, double tx_depth, double rx_depth, double rx_range) const
Definition bellhop-woss.cpp:1095
double min_angle
Definition bellhop-woss.h:679
bool initResReader(double curr_frequency)
Definition bellhop-woss.cpp:1074
double tx_max_depth_offset
Definition bellhop-woss.h:627
void writeTransmitter()
Definition bellhop-woss.h:949
::std::string altimetry_file
Definition bellhop-woss.h:573
BellhopWoss & setBoxDepth(double depth)
Definition bellhop-woss.h:259
const Transducer *const getTransducer() const
Definition bellhop-woss.h:496
BellhopWoss & setBeamPatternParam(double init_bearing, double vert_rot=0.0, double horiz_rot=0.0, double mult=1.0, double add=0.0)
Definition bellhop-woss.h:346
::std::string getBathymetryType() const
Definition bellhop-woss.h:478
BellhopWoss & setBeamOptions(const ::std::string &options)
Definition bellhop-woss.h:294
double getRxMaxRangeOffset() const
Definition bellhop-woss.h:399
bool usingSSPFile() const
Definition bellhop-woss.h:524
::std::string bathymetry_method
Definition bellhop-woss.h:547
void writeAllCfgFiles()
Definition bellhop-woss.cpp:1051
bool getThorpeAttFlag() const
Definition bellhop-woss.h:357
BellhopWoss & setRxTotalDepths(int number)
Definition bellhop-woss.h:224
bool usingTimeArrMode() const
Definition bellhop-woss.h:518
BellhopWoss & setRxMinDepthOffset(double offset)
Definition bellhop-woss.h:196
double getRxMinDepthOffset() const
Definition bellhop-woss.h:381
BellhopWoss & setBathymetryMethod(const ::std::string &type)
Definition bellhop-woss.h:315
void initCfgFiles(double curr_frequency, int curr_run)
Definition bellhop-woss.cpp:991
void writeNormalizedSSP(int curr_run)
Definition bellhop-woss.cpp:295
virtual TimeArr * getTimeArr(double frequency, double tx_depth, double rx_depth, double rx_range) const
Definition bellhop-woss.cpp:1105
double getTxMinDepthOffset() const
Definition bellhop-woss.h:363
::std::string shd_file
Definition bellhop-woss.h:589
double rx_max_depth_offset
Definition bellhop-woss.h:648
::std::string bellhop_env_file
Definition bellhop-woss.h:563
bool use_thorpe_att
Definition bellhop-woss.h:532
void checkBoundaries(double &frequency, double &tx_depth, double &rx_start_depth, double &rx_start_range, double &rx_end_depth, double &rx_end_range) const
Definition bellhop-woss.cpp:421
double getTxMaxDepthOffset() const
Definition bellhop-woss.h:369
BellhopWoss & setAltimetryType(const ::std::string &type)
Definition bellhop-woss.h:322
::std::string bathymetry_type
Definition bellhop-woss.h:542
::std::string altimetry_type
Definition bellhop-woss.h:552
::std::string ssp_file
Definition bellhop-woss.h:584
void checkRangeOffsets()
Definition bellhop-woss.cpp:503
::std::string arr_file
Definition bellhop-woss.h:594
int total_rays
Definition bellhop-woss.h:673
void writeBathymetryFile()
Definition bellhop-woss.cpp:553
::std::ofstream f_out
Definition bellhop-woss.h:758
void checkAngles()
Definition bellhop-woss.cpp:538
BellhopWoss & setMaxAngle(double angle)
Definition bellhop-woss.h:252
NormSSPMap randomized_ssp_map
Definition bellhop-woss.h:742
BellhopWoss & setBellhopShdSyntax(BellhopShdSyntax syntax)
Definition bellhop-woss.h:287
void writeHeader(double curr_frequency, int curr_run)
Definition bellhop-woss.h:941
BellhopWoss & setBellhopPath(const ::std::string &path)
Definition bellhop-woss.h:273
double getBoxRange() const
Definition bellhop-woss.h:441
BellhopWoss & setRxMinRangeOffset(double offset)
Definition bellhop-woss.h:210
double box_range
Definition bellhop-woss.h:752
virtual bool initTimeArrResReader(double curr_frequency)
Definition bellhop-woss.cpp:923
BellhopWoss & setBathymetryType(const ::std::string &type)
Definition bellhop-woss.h:308
int getRaysNumber() const
Definition bellhop-woss.h:417
void removeAllCfgFiles()
Definition bellhop-woss.cpp:1060
int total_rx_depths
Definition bellhop-woss.h:638
double rx_max_range_offset
Definition bellhop-woss.h:667
::std::string getBeamOptions() const
Definition bellhop-woss.h:472
BellhopWoss & setRxTotalRanges(int number)
Definition bellhop-woss.h:231
::std::string curr_path
Definition bellhop-woss.h:614
void writeBeamPatternFile()
Definition bellhop-woss.cpp:800
BellhopWoss & setTransformSSPDepthSteps(int depth_steps)
Definition bellhop-woss.h:338
BellhopWoss()
Definition bellhop-woss.cpp:79
::std::string beam_options
Definition bellhop-woss.h:537
BellhopWoss & setBhMode(const ::std::string &mode)
Definition bellhop-woss.cpp:200
virtual Pressure * 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
Definition bellhop-woss.cpp:1083
BellhopWoss & setTxMinDepthOffset(double offset)
Definition bellhop-woss.h:175
::std::string bathymetry_file
Definition bellhop-woss.h:568
int getRxTotalRanges() const
Definition bellhop-woss.h:411
void removeCfgFiles(double curr_frequency, int curr_run)
Definition bellhop-woss.cpp:1069
void writeRayOptions()
Definition bellhop-woss.h:970
BellhopWoss & setTotalTransmitters(int sources)
Definition bellhop-woss.h:189
double rx_min_depth_offset
Definition bellhop-woss.h:643
BellhopShdSyntax getBellhopShdSyntax() const
Definition bellhop-woss.h:466
double tx_min_depth_offset
Definition bellhop-woss.h:622
virtual bool isValid() const
Definition bellhop-woss.cpp:193
::std::string getAltimetryType() const
Definition bellhop-woss.h:490
void writeCfgFiles(double curr_frequency, int curr_run)
Definition bellhop-woss.cpp:1011
::std::string getBathymetryMethod() const
Definition bellhop-woss.h:484
void writeReceiver()
Definition bellhop-woss.h:957
BellhopWoss & setRxMaxDepthOffset(double offset)
Definition bellhop-woss.h:203
virtual bool run()
Definition bellhop-woss.cpp:948
double getRxMinRangeOffset() const
Definition bellhop-woss.h:393
const Transducer * transducer
Definition bellhop-woss.h:712
double getMaxAngle() const
Definition bellhop-woss.h:429
BellhopWoss & setBellhopArrSyntax(BellhopArrSyntax syntax)
Definition bellhop-woss.h:280
double max_angle
Definition bellhop-woss.h:684
BellhopWoss & setTransducer(const Transducer *const ptr)
Definition bellhop-woss.h:330
BellhopArrSyntax getBellhopArrSyntax() const
Definition bellhop-woss.h:460
double getMinAngle() const
Definition bellhop-woss.h:423
int curr_norm_ssp_depth_steps
Definition bellhop-woss.h:700
::std::string getBellhopPath() const
Definition bellhop-woss.h:454
virtual void normalizeDbSSP()
Definition bellhop-woss.cpp:232
double getRxMaxDepthOffset() const
Definition bellhop-woss.h:387
BellhopShdSyntax bellhop_shd_syntax
Definition bellhop-woss.h:609
double box_depth
Definition bellhop-woss.h:747
::std::string bellhop_op_mode
Definition bellhop-woss.h:557
BellhopWoss & setMinAngle(double angle)
Definition bellhop-woss.h:245
3D-Coordinates (lat, long, depth) class definitions and functions library
Definition coordinates-definitions.h:403
double getDepth() const
Definition coordinates-definitions.h:525
Complex attenuated pressure class.
Definition pressure-definitions.h:59
Channel power delay profile class.
Definition time-arrival-definitions.h:82
a class for time date manipulation
Definition time-definitions.h:95
Transducer class.
Definition transducer-definitions.h:70
virtual bool isValid() const
Definition transducer-definitions.cpp:232
CoordZ tx_coordz
Definition woss.h:495
double total_great_circle_distance
Definition woss.h:519
int woss_id
Definition woss.h:455
CoordZ rx_coordz
Definition woss.h:500
Generic functions and variables
Definitions and library for woss::Sediment class.
Provides the interface for the woss::Transducer class.