World Ocean Simulation System (WOSS) library
bellhop-creator.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
29
40#ifndef WOSS_BELLHOP_CREATOR_DEFINITIONS_H
41#define WOSS_BELLHOP_CREATOR_DEFINITIONS_H
42
43
44#include "woss-creator.h"
45#include "bellhop-woss.h"
46
47
48namespace woss {
49
50
56 struct CustomAngles {
57
58
64 CustomAngles( double min = double(), double max = double() ) : min_angle(min), max_angle(max) { }
65
66
67 friend std::ostream& operator<<( std::ostream& os, const CustomAngles& instance ) {
68 os << "min angle = " << instance.min_angle << "; max_angle = " << instance.max_angle;
69 return os;
70 }
71
75 double min_angle;
76
80 double max_angle;
81
82
83 };
84
85
91 class BellhopCreator : public WossCreator {
92
93
94 public:
95
100
101 virtual ~BellhopCreator() { }
102
103
112 virtual BellhopWoss* const createWoss( const CoordZ& tx, const CoordZ& rx, double start_frequency, double end_frequency ) const;
113
114
120 BellhopCreator& setThorpeAttFlag( bool flag ) { use_thorpe_att = flag; return *this; }
121
127
128
136 BellhopCreator& setTotalRangeSteps( int steps, const CoordZ& tx, const CoordZ& rx ) {
137 cctotal_range_steps.replace(steps, tx, rx); return *this; }
138
147 cctotal_range_steps.replace(steps, tx, rx); return *this; }
148
156 cctotal_range_steps.erase(tx, rx); return *this; }
157
166
173 double getTotalRangeSteps( const CoordZ& tx, const CoordZ& rx ) {
174 return cctotal_range_steps.get(tx, rx); }
175
183 return cctotal_range_steps.get(tx, rx); }
184
185
193 BellhopCreator& setTxMinDepthOffset( double offset, const CoordZ& tx, const CoordZ& rx ) {
194 cctx_min_depth_offset.replace(offset, tx, rx); return *this; }
195
204 cctx_min_depth_offset.replace(offset, tx, rx); return *this; }
205
213 cctx_min_depth_offset.erase(tx, rx); return *this; }
214
223
230 double getTxMinDepthOffset( const CoordZ& tx, const CoordZ& rx ) {
231 return cctx_min_depth_offset.get(tx, rx); }
232
241
242
250 BellhopCreator& setTxMaxDepthOffset( double offset, const CoordZ& tx, const CoordZ& rx ) {
251 cctx_max_depth_offset.replace(offset, tx, rx); return *this; }
252
261 cctx_max_depth_offset.replace(offset, tx, rx); return *this; }
262
270 cctx_max_depth_offset.erase(tx, rx); return *this; }
271
280
287 double getTxMaxDepthOffset( const CoordZ& tx, const CoordZ& rx ) {
288 return cctx_max_depth_offset.get(tx, rx); }
289
298
299
307 BellhopCreator& setTotalTransmitters( int sources, const CoordZ& tx, const CoordZ& rx ) {
308 cctotal_transmitters.replace(sources, tx, rx); return *this; }
309
318 cctotal_transmitters.replace(sources, tx, rx); return *this; }
319
327 cctotal_transmitters.erase(tx, rx); return *this; }
328
337
344 int getTotalTransmitters( const CoordZ& tx, const CoordZ& rx ) {
345 return cctotal_transmitters.get(tx, rx); }
346
355
356
364 BellhopCreator& setRxMinDepthOffset( double offset, const CoordZ& tx, const CoordZ& rx ) {
365 ccrx_min_depth_offset.replace(offset, tx, rx); return *this; }
366
375 ccrx_min_depth_offset.replace(offset, tx, rx); return *this; }
376
384 ccrx_min_depth_offset.erase(tx, rx); return *this; }
385
394
401 double getRxMinDepthOffset( const CoordZ& tx, const CoordZ& rx ) {
402 return ccrx_min_depth_offset.get(tx, rx); }
403
412
413
421 BellhopCreator& setRxMaxDepthOffset( double offset, const CoordZ& tx, const CoordZ& rx ) {
422 ccrx_max_depth_offset.replace(offset, tx, rx); return *this; }
423
432 ccrx_max_depth_offset.replace(offset, tx, rx); return *this; }
433
441 ccrx_max_depth_offset.erase(tx, rx); return *this; }
442
451
458 double getRxMaxDepthOffset( const CoordZ& tx, const CoordZ& rx ) {
459 return ccrx_max_depth_offset.get(tx, rx); }
460
470
471
479 BellhopCreator& setRxMinRangeOffset( double offset, const CoordZ& tx, const CoordZ& rx ) {
480 ccrx_min_range_offset.replace(offset, tx, rx); return *this; }
481
490 ccrx_min_range_offset.replace(offset, tx, rx); return *this; }
491
499 ccrx_min_range_offset.erase(tx, rx); return *this; }
500
509
516 double getRxMinRangeOffset( const CoordZ& tx, const CoordZ& rx ) {
517 return ccrx_min_range_offset.get(tx, rx); }
518
527
528
536 BellhopCreator& setRxMaxRangeOffset( double offset, const CoordZ& tx, const CoordZ& rx ) {
537 ccrx_max_range_offset.replace(offset, tx, rx); return *this; }
538
547 ccrx_max_range_offset.replace(offset, tx, rx); return *this; }
548
556 ccrx_max_range_offset.erase(tx, rx); return *this; }
557
566
573 double getRxMaxRangeOffset( const CoordZ& tx, const CoordZ& rx ) {
574 return ccrx_max_range_offset.get(tx, rx); }
575
584
585
593 BellhopCreator& setRxTotalDepths( int number, const CoordZ& tx, const CoordZ& rx ) {
594 cctotal_rx_depths.replace(number, tx, rx); return *this; }
595
604 cctotal_rx_depths.replace(number, tx, rx); return *this; }
605
612 BellhopCreator& eraseRxTotalDepths( const CoordZ& tx, const CoordZ& rx ) {
613 cctotal_rx_depths.erase(tx, rx); return *this; }
614
623
630 int getRxTotalDepths( const CoordZ& tx, const CoordZ& rx ) {
631 return cctotal_rx_depths.get(tx, rx); }
632
640 return cctotal_rx_depths.get(tx, rx); }
641
642
650 BellhopCreator& setRxTotalRanges( int number, const CoordZ& tx, const CoordZ& rx ) {
651 cctotal_rx_ranges.replace(number, tx, rx); return *this; }
652
661 cctotal_rx_ranges.replace(number, tx, rx); return *this; }
662
669 BellhopCreator& eraseRxTotalRanges( const CoordZ& tx, const CoordZ& rx ) {
670 cctotal_rx_ranges.erase(tx, rx); return *this; }
671
680
687 int getRxTotalRanges( const CoordZ& tx, const CoordZ& rx ) {
688 return cctotal_rx_ranges.get(tx, rx); }
689
697 return cctotal_rx_ranges.get(tx, rx); }
698
699
707 BellhopCreator& setRaysNumber( int number, const CoordZ& tx, const CoordZ& rx ) {
708 cctotal_rays.replace(number, tx, rx); return *this; }
709
718 cctotal_rays.replace(number, tx, rx); return *this; }
719
726 BellhopCreator& eraseRaysNumber( const CoordZ& tx, const CoordZ& rx ) {
727 cctotal_rays.erase(tx, rx); return *this; }
728
737
744 int getRaysNumber( const CoordZ& tx, const CoordZ& rx ) {
745 return cctotal_rays.get(tx, rx); }
746
754 return cctotal_rays.get(tx, rx); }
755
756
762 BellhopCreator& setBellhopPath( const ::std::string& path ) { bellhop_path = path; return *this; }
763
768 ::std::string getBellhopPath() { return bellhop_path; }
769
776 bellhop_arr_syntax = syntax; return *this; }
777
783
790 bellhop_shd_syntax = syntax; return *this; }
791
797
806 BellhopCreator& setBeamOptions( const ::std::string& options, const CoordZ& tx, const CoordZ& rx ) {
807 ccbeam_options.replace(options, tx, rx); return *this; }
808
817 BellhopCreator& setBeamOptions( const ::std::string& options, Location* const tx = CCString::ALL_LOCATIONS, Location* const rx = CCString::ALL_LOCATIONS ) {
818 ccbeam_options.replace(options, tx, rx); return *this; }
819
826 BellhopCreator& eraseBeamOptions( const CoordZ& tx, const CoordZ& rx ) {
827 ccbeam_options.erase(tx, rx); return *this; }
828
837
844 ::std::string getBeamOptions( const CoordZ& tx, const CoordZ& rx ) {
845 return ccbeam_options.get(tx, rx); }
846
854 return ccbeam_options.get(tx, rx); }
855
856
865 BellhopCreator& setBhMode( const ::std::string& options, const CoordZ& tx, const CoordZ& rx ) {
866 ccbellhop_mode.replace(options, tx, rx); return *this; }
867
876 BellhopCreator& setBhMode( const ::std::string& options, Location* const tx = CCString::ALL_LOCATIONS, Location* const rx = CCString::ALL_LOCATIONS ) {
877 ccbellhop_mode.replace(options, tx, rx); return *this; }
878
885 BellhopCreator& eraseBhMode( const CoordZ& tx, const CoordZ& rx ) {
886 ccbellhop_mode.erase(tx, rx); return *this; }
887
896
903 ::std::string getBhMode( const CoordZ& tx, const CoordZ& rx ) {
904 return ccbellhop_mode.get(tx, rx); }
905
912 ::std::string getBhMode( Location* const tx = CCString::ALL_LOCATIONS, Location* const rx = CCString::ALL_LOCATIONS ) {
913 return ccbellhop_mode.get(tx, rx); }
914
915
924 BellhopCreator& setBathymetryType( const ::std::string& options, const CoordZ& tx, const CoordZ& rx ) {
925 ccbathymetry_type.replace(options, tx, rx); return *this; }
926
935 BellhopCreator& setBathymetryType( const ::std::string& options, Location* const tx = CCString::ALL_LOCATIONS, Location* const rx = CCString::ALL_LOCATIONS ) {
936 ccbathymetry_type.replace(options, tx, rx); return *this; }
937
945 ccbathymetry_type.erase(tx, rx); return *this; }
946
955
962 ::std::string getBathymetryType( const CoordZ& tx, const CoordZ& rx ) {
963 return ccbathymetry_type.get(tx, rx); }
964
972 return ccbathymetry_type.get(tx, rx); }
973
982 BellhopCreator& setBathymetryMethod( const ::std::string& options, const CoordZ& tx, const CoordZ& rx ) {
983 ccbathymetry_method.replace(options, tx, rx); return *this; }
984
993 BellhopCreator& setBathymetryMethod( const ::std::string& options, Location* const tx = CCString::ALL_LOCATIONS, Location* const rx = CCString::ALL_LOCATIONS ) {
994 ccbathymetry_method.replace(options, tx, rx); return *this; }
995
1003 ccbathymetry_method.erase(tx, rx); return *this; }
1004
1013
1020 ::std::string getBathymetryMethod( const CoordZ& tx, const CoordZ& rx ) {
1021 return ccbathymetry_method.get(tx, rx); }
1022
1030 return ccbathymetry_method.get(tx, rx); }
1031
1040 BellhopCreator& setAltimetryType( const ::std::string& options, const CoordZ& tx, const CoordZ& rx ) {
1041 ccaltimetry_type.replace(options, tx, rx); return *this; }
1042
1051 BellhopCreator& setAltimetryType( const ::std::string& options, Location* const tx = CCString::ALL_LOCATIONS, Location* const rx = CCString::ALL_LOCATIONS ) {
1052 ccaltimetry_type.replace(options, tx, rx); return *this; }
1053
1061 ccaltimetry_type.erase(tx, rx); return *this; }
1062
1071
1078 ::std::string getAltimetryType( const CoordZ& tx, const CoordZ& rx ) {
1079 return ccaltimetry_type.get(tx, rx); }
1080
1088 return ccaltimetry_type.get(tx, rx); }
1089
1090
1098 BellhopCreator& setAngles( const CustomAngles& angles, const CoordZ& tx, const CoordZ& rx ) {
1099 ccangles_map.replace(angles, tx, rx); return *this; }
1100
1109 ccangles_map.replace(angles, tx, rx); return *this; }
1110
1117 CustomAngles getAngles( const CoordZ& tx, const CoordZ& rx ) const { return ccangles_map.get(tx, rx); }
1118
1127
1134 BellhopCreator& eraseAngles( const CoordZ& tx, const CoordZ& rx ) { ccangles_map.erase(tx, rx); return *this; }
1135
1143 ccangles_map.erase(tx, rx); return *this;
1144 }
1145
1153 BellhopCreator& setBoxDepth( double box_depth, const CoordZ& tx, const CoordZ& rx ) {
1154 ccbox_depth.replace(box_depth, tx, rx); return *this; }
1155
1164 ccbox_depth.replace(box_depth, tx, rx); return *this; }
1165
1166
1173 BellhopCreator& eraseBoxDepth( const CoordZ& tx, const CoordZ& rx ) {
1174 ccbox_depth.erase(tx, rx); return *this; }
1175
1184
1191 double getBoxDepth( const CoordZ& tx, const CoordZ& rx ) {
1192 return ccbox_depth.get(tx, rx); }
1193
1201 return ccbox_depth.get(tx, rx); }
1202
1210 BellhopCreator& setBoxRange( double box_range, const CoordZ& tx, const CoordZ& rx ) {
1211 ccbox_range.replace(box_range, tx, rx); return *this; }
1212
1221 ccbox_range.replace(box_range, tx, rx); return *this; }
1222
1223
1230 BellhopCreator& eraseBoxRange( const CoordZ& tx, const CoordZ& rx ) {
1231 ccbox_range.erase(tx, rx); return *this; }
1232
1241
1248 double getBoxRange( const CoordZ& tx, const CoordZ& rx ) {
1249 return ccbox_range.get(tx, rx); }
1250
1258 return ccbox_range.get(tx, rx); }
1259
1267 BellhopCreator& setSspDepthPrecision( double ssp_precision, const CoordZ& tx, const CoordZ& rx ) {
1268 ccssp_depth_precision.replace(ssp_precision, tx, rx); return *this; }
1269
1278 ccssp_depth_precision.replace(ssp_precision, tx, rx); return *this; }
1279
1287 ccssp_depth_precision.erase(tx, rx); return *this; }
1288
1297
1304 double getSspDepthPrecision( const CoordZ& tx, const CoordZ& rx ) {
1305 return ccssp_depth_precision.get(tx, rx); }
1306
1315
1316
1324 BellhopCreator& setSspDepthSteps( int ssp_depth_steps, const CoordZ& tx, const CoordZ& rx ) {
1325 ccnormalized_ssp_depth_steps.replace(ssp_depth_steps, tx, rx); return *this; }
1326
1335 ccnormalized_ssp_depth_steps.replace(ssp_depth_steps, tx, rx); return *this; }
1336
1344 ccnormalized_ssp_depth_steps.erase(tx, rx); return *this; }
1345
1354
1361 int getSspDepthSteps( const CoordZ& tx, const CoordZ& rx ) {
1362 return ccnormalized_ssp_depth_steps.get(tx, rx); }
1363
1372
1373
1381 BellhopCreator& setCustomTransducer( const CustomTransducer& type, const CoordZ& tx, const CoordZ& rx ) {
1382 cctransducer.replace(type, tx, rx); return *this; }
1383
1391 BellhopCreator& setCustomTransducer( const CustomTransducer& type, Location* const tx = CCTransducer::ALL_LOCATIONS, Location* const rx = CCTransducer::ALL_LOCATIONS ) {
1392 cctransducer.replace(type, tx, rx); return *this; }
1393
1400 CustomTransducer getCustomTransducer( const CoordZ& tx, const CoordZ& rx ) const {
1401 return cctransducer.get(tx, rx); }
1402
1409 CustomTransducer getCustomTransducer( Location* const tx = CCTransducer::ALL_LOCATIONS, Location* const rx = CCTransducer::ALL_LOCATIONS ) const {
1410 return cctransducer.get(tx, rx); }
1411
1418 BellhopCreator& eraseCustomTransducer( const CoordZ& tx, const CoordZ& rx ) { ccangles_map.erase(tx, rx); return *this; }
1419
1426 BellhopCreator& eraseCustomTransducer( Location* const tx = CCTransducer::ALL_LOCATIONS, Location* const rx = CCTransducer::ALL_LOCATIONS ) {
1427 cctransducer.erase(tx, rx); return *this;
1428 }
1429
1430
1435
1437
1439
1440
1441 protected:
1442
1447
1448
1452 ::std::string bellhop_path;
1453
1458
1463
1468
1473
1478
1483
1488
1489
1494
1495
1500
1501
1506
1511
1516
1517
1522
1527
1532
1533
1541
1546
1551
1552
1557
1558
1563
1568
1573
1578
1583
1589 virtual bool initializeWoss( Woss* const woss_ptr ) const ;
1590
1596 bool initializeBhWoss( BellhopWoss* const woss_ptr ) const ;
1597
1598
1599 virtual const BellhopWoss* createNotValidWoss() const;
1600
1601 virtual void updateDebugFlag();
1602
1603 };
1604
1605
1606}
1607
1608
1609#endif /* WOSS_BELLHOP_CREATOR_DEFINITIONS_H */
1610
Provides the interface for woss::BellhopWoss class.
BellhopArrSyntax
Definition bellhop-woss.h:65
BellhopShdSyntax
Definition bellhop-woss.h:76
class that provides correctly initialized BellhopWoss objects
Definition bellhop-creator.h:91
double getBoxDepth(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1200
BellhopCreator & setAngles(const CustomAngles &angles, Location *const tx=CCAngles::ALL_LOCATIONS, Location *const rx=CCAngles::ALL_LOCATIONS)
Definition bellhop-creator.h:1108
CCString ccbeam_options
Definition bellhop-creator.h:1472
BellhopCreator & eraseBeamOptions(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:826
BellhopCreator & setSspDepthSteps(int ssp_depth_steps, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1324
CCInt cctotal_range_steps
Definition bellhop-creator.h:1499
int getTotalTransmitters(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:344
CCTransducer cctransducer
Definition bellhop-creator.h:1572
double getTxMinDepthOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:230
BellhopCreator & eraseAltimetryType(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:1069
bool initializeBhWoss(BellhopWoss *const woss_ptr) const
Definition bellhop-creator.cpp:126
BellhopCreator & eraseSspDepthPrecision(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1295
int getRaysNumber(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:744
CCString ccbathymetry_method
Definition bellhop-creator.h:1482
CCDouble cctx_max_depth_offset
Definition bellhop-creator.h:1515
int getRxTotalRanges(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:687
BellhopCreator & eraseAngles(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1134
BellhopCreator & setTotalRangeSteps(int steps, Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:146
CCDouble cctx_min_depth_offset
Definition bellhop-creator.h:1510
BellhopCreator & eraseRaysNumber(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:735
BellhopCreator & setAltimetryType(const ::std::string &options, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1040
BellhopCreator & eraseAltimetryType(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1060
BellhopCreator & eraseRxTotalRanges(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:669
double getRxMinDepthOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:401
CCDouble ccssp_depth_precision
Definition bellhop-creator.h:1562
BellhopCreator & setTxMinDepthOffset(double offset, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:203
CCDouble ccrx_max_depth_offset
Definition bellhop-creator.h:1531
CustomAngles getAngles(const CoordZ &tx, const CoordZ &rx) const
Definition bellhop-creator.h:1117
CCInt ccnormalized_ssp_depth_steps
Definition bellhop-creator.h:1567
BellhopCreator & setRxMinRangeOffset(double offset, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:489
::std::string getBeamOptions(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:853
WossCreatorContainer< CustomAngles > CCAngles
Definition bellhop-creator.h:1434
BellhopCreator & setRaysNumber(int number, Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:717
BellhopCreator & setBoxDepth(double box_depth, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1163
virtual void updateDebugFlag()
Definition bellhop-creator.cpp:84
BellhopCreator & eraseBathymetryMethod(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:1011
BellhopCreator & setBathymetryType(const ::std::string &options, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:924
double getBoxDepth(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1191
BellhopCreator & setRxMaxRangeOffset(double offset, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:546
BellhopArrSyntax bellhop_arr_syntax
Definition bellhop-creator.h:1457
BellhopCreator & eraseTotalRangeSteps(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:164
::std::string getBathymetryMethod(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:1029
BellhopCreator & eraseTxMinDepthOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:212
int getRxTotalDepths(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:639
BellhopCreator & eraseBoxDepth(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1182
BellhopCreator & eraseBhMode(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:894
BellhopCreator & setBhMode(const ::std::string &options, Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:876
int getRxTotalRanges(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:696
BellhopCreator & setRxMaxDepthOffset(double offset, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:421
BellhopCreator & eraseRxMaxDepthOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:440
BellhopCreator & eraseBathymetryType(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:953
BellhopCreator & setBeamOptions(const ::std::string &options, Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:817
double getRxMinRangeOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:516
double getRxMaxRangeOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:573
BellhopCreator & setTxMaxDepthOffset(double offset, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:250
BellhopCreator & setBellhopArrSyntax(BellhopArrSyntax syntax)
Definition bellhop-creator.h:775
BellhopCreator & eraseRxMinDepthOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:392
double getBoxRange(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1248
BellhopCreator & setSspDepthPrecision(double ssp_precision, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1277
BellhopCreator & setTotalTransmitters(int sources, Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:317
BellhopCreator & eraseBoxDepth(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1173
BellhopCreator & eraseBathymetryMethod(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1002
BellhopCreator & setTotalRangeSteps(int steps, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:136
BellhopCreator & eraseAngles(Location *const tx=CCAngles::ALL_LOCATIONS, Location *const rx=CCAngles::ALL_LOCATIONS)
Definition bellhop-creator.h:1142
::std::string bellhop_path
Definition bellhop-creator.h:1452
BellhopCreator & setRxTotalRanges(int number, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:650
bool getThorpeAttFlag()
Definition bellhop-creator.h:126
CCString ccbellhop_mode
Definition bellhop-creator.h:1467
BellhopCreator & eraseRxMaxRangeOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:564
BellhopCreator & setSspDepthPrecision(double ssp_precision, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1267
BellhopCreator & eraseSspDepthSteps(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:1352
CustomTransducer getCustomTransducer(const CoordZ &tx, const CoordZ &rx) const
Definition bellhop-creator.h:1400
BellhopCreator & setAngles(const CustomAngles &angles, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1098
::std::string getBhMode(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:903
CCString ccaltimetry_type
Definition bellhop-creator.h:1487
BellhopCreator & setBoxRange(double box_range, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1220
BellhopCreator & eraseSspDepthSteps(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1343
double getRxMinDepthOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:410
int getTotalTransmitters(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:353
CCDouble ccbox_depth
Definition bellhop-creator.h:1577
CCDouble ccrx_min_range_offset
Definition bellhop-creator.h:1545
BellhopCreator & eraseRxMinDepthOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:383
CCDouble ccbox_range
Definition bellhop-creator.h:1582
CCAngles ccangles_map
Definition bellhop-creator.h:1493
BellhopCreator & setSspDepthSteps(int ssp_depth_steps, Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:1334
CustomTransducer getCustomTransducer(Location *const tx=CCTransducer::ALL_LOCATIONS, Location *const rx=CCTransducer::ALL_LOCATIONS) const
Definition bellhop-creator.h:1409
CCString ccbathymetry_type
Definition bellhop-creator.h:1477
BellhopCreator & eraseCustomTransducer(Location *const tx=CCTransducer::ALL_LOCATIONS, Location *const rx=CCTransducer::ALL_LOCATIONS)
Definition bellhop-creator.h:1426
BellhopCreator & setTotalTransmitters(int sources, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:307
CCDouble ccrx_min_depth_offset
Definition bellhop-creator.h:1526
double getTxMinDepthOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:239
double getRxMinRangeOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:525
BellhopCreator & eraseTxMaxDepthOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:269
BellhopCreator & setRxTotalDepths(int number, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:593
double getTotalRangeSteps(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:173
::std::string getBeamOptions(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:844
BellhopCreator & setAltimetryType(const ::std::string &options, Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:1051
::std::string getBathymetryType(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:971
BellhopCreator & setBoxDepth(double box_depth, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1153
BellhopCreator & eraseRxMaxRangeOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:555
::std::string getAltimetryType(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1078
double getBoxRange(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1257
CCInt cctotal_transmitters
Definition bellhop-creator.h:1505
double getRxMaxRangeOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:582
BellhopCreator & setTxMinDepthOffset(double offset, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:193
BellhopCreator & setRaysNumber(int number, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:707
BellhopCreator & eraseTotalTransmitters(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:326
double getTxMaxDepthOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:287
BellhopCreator & setRxMinRangeOffset(double offset, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:479
BellhopCreator & eraseTxMaxDepthOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:278
BellhopCreator & setBeamOptions(const ::std::string &options, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:806
::std::string getBathymetryType(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:962
int getRxTotalDepths(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:630
::std::string getBhMode(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:912
CCInt cctotal_rx_depths
Definition bellhop-creator.h:1521
CustomAngles getAngles(Location *const tx=CCAngles::ALL_LOCATIONS, Location *const rx=CCAngles::ALL_LOCATIONS) const
Definition bellhop-creator.h:1125
BellhopCreator & eraseCustomTransducer(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1418
BellhopCreator & setBhMode(const ::std::string &options, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:865
virtual bool initializeWoss(Woss *const woss_ptr) const
Definition bellhop-creator.cpp:120
BellhopCreator & eraseBoxRange(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1230
BellhopCreator & setBoxRange(double box_range, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1210
BellhopCreator & setRxMinDepthOffset(double offset, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:364
BellhopCreator & eraseBoxRange(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1239
BellhopCreator & setBathymetryMethod(const ::std::string &options, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:982
BellhopCreator & eraseRxTotalRanges(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:678
BellhopCreator & setRxTotalRanges(int number, Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:660
double getSspDepthPrecision(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:1313
bool use_thorpe_att
Definition bellhop-creator.h:1446
BellhopCreator & setRxMaxDepthOffset(double offset, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:431
BellhopArrSyntax getBellhopArrSyntax()
Definition bellhop-creator.h:782
::std::string getAltimetryType(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:1087
CCInt cctotal_rx_ranges
Definition bellhop-creator.h:1540
BellhopCreator & setBellhopPath(const ::std::string &path)
Definition bellhop-creator.h:762
BellhopCreator & eraseBhMode(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:885
BellhopShdSyntax bellhop_shd_syntax
Definition bellhop-creator.h:1462
int getSspDepthSteps(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1361
BellhopShdSyntax getBellhopShdSyntax()
Definition bellhop-creator.h:796
::std::string getBathymetryMethod(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1020
double getRxMaxDepthOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:458
BellhopCreator & eraseRxMaxDepthOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:449
BellhopCreator()
Definition bellhop-creator.cpp:50
BellhopCreator & eraseRxTotalDepths(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:621
double getRxMaxDepthOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:468
double getTxMaxDepthOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:296
BellhopCreator & eraseBathymetryType(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:944
int getSspDepthSteps(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:1370
BellhopCreator & eraseRaysNumber(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:726
BellhopCreator & setBathymetryType(const ::std::string &options, Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:935
double getSspDepthPrecision(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1304
BellhopCreator & eraseRxMinRangeOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:507
BellhopCreator & setRxMaxRangeOffset(double offset, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:536
int getRaysNumber(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:753
BellhopCreator & setTxMaxDepthOffset(double offset, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:260
CCDouble ccrx_max_range_offset
Definition bellhop-creator.h:1550
BellhopCreator & setBellhopShdSyntax(BellhopShdSyntax syntax)
Definition bellhop-creator.h:789
BellhopCreator & eraseTotalRangeSteps(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:155
::std::string getBellhopPath()
Definition bellhop-creator.h:768
BellhopCreator & setCustomTransducer(const CustomTransducer &type, Location *const tx=CCTransducer::ALL_LOCATIONS, Location *const rx=CCTransducer::ALL_LOCATIONS)
Definition bellhop-creator.h:1391
CCInt cctotal_rays
Definition bellhop-creator.h:1556
BellhopCreator & setRxTotalDepths(int number, Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:603
BellhopCreator & setRxMinDepthOffset(double offset, Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:374
BellhopCreator & setCustomTransducer(const CustomTransducer &type, const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1381
BellhopCreator & eraseSspDepthPrecision(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:1286
virtual BellhopWoss *const createWoss(const CoordZ &tx, const CoordZ &rx, double start_frequency, double end_frequency) const
Definition bellhop-creator.cpp:110
BellhopCreator & eraseTotalTransmitters(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:335
BellhopCreator & eraseBeamOptions(Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:835
BellhopCreator & eraseRxMinRangeOffset(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:498
BellhopCreator & setThorpeAttFlag(bool flag)
Definition bellhop-creator.h:120
BellhopCreator & eraseTxMinDepthOffset(Location *const tx=CCDouble::ALL_LOCATIONS, Location *const rx=CCDouble::ALL_LOCATIONS)
Definition bellhop-creator.h:221
BellhopCreator & setBathymetryMethod(const ::std::string &options, Location *const tx=CCString::ALL_LOCATIONS, Location *const rx=CCString::ALL_LOCATIONS)
Definition bellhop-creator.h:993
double getTotalRangeSteps(Location *const tx=CCInt::ALL_LOCATIONS, Location *const rx=CCInt::ALL_LOCATIONS)
Definition bellhop-creator.h:182
BellhopCreator & eraseRxTotalDepths(const CoordZ &tx, const CoordZ &rx)
Definition bellhop-creator.h:612
Implempentation of ACToolboxWoss for Bellhop raytracing program.
Definition bellhop-woss.h:87
3D-Coordinates (lat, long, depth) class definitions and functions library
Definition coordinates-definitions.h:403
Class that stores the coordinates of moving entity.
Definition location-definitions.h:60
Full specialization for woss::CustomTransducer.
Definition woss-creator-container.h:1023
CustomTransducer get(Location *const tx, Location *const rx) const
void replace(const CustomTransducer &data, Location *const tx, Location *const rx)
Definition woss-creator-container.h:1248
Data get(Location *const tx, Location *const rx) const
Definition woss-creator-container.cpp:157
void replace(const Data &data, Location *const tx, Location *const rx)
Definition woss-creator-container.h:559
void erase(Location *const tx, Location *const rx)
Definition woss-creator-container.h:532
static Location *const ALL_LOCATIONS
Definition woss-creator-container.h:133
Abstract class that provides correctly initialized Woss objects.
Definition woss-creator.h:65
Abstract class that provides the interface for initializing and running a channel simulator.
Definition woss.h:94
Bellhop min max angles.
Definition bellhop-creator.h:56
double min_angle
Definition bellhop-creator.h:75
double max_angle
Definition bellhop-creator.h:80
CustomAngles(double min=double(), double max=double())
Definition bellhop-creator.h:64
Initial set up of a transducer.
Definition woss-creator-container.h:57
Provides the interface for woss::WossCreator class.