|
World Ocean Simulation System (WOSS) library
|
Class for reading and manipulating results provided by any acoustic toolbox SHD file. More...
#include <ac-toolbox-shd-reader.h>


Public Member Functions | |
| ShdResReader (const Woss &woss) | |
| virtual | ~ShdResReader () override=default |
| virtual bool | initialize () override |
| virtual std::unique_ptr< Pressure > | readAvgPressure (double frequency, double tx_depth, double start_rx_depth, double start_rx_range, double end_rx_depth, double end_rx_range) override |
| virtual std::unique_ptr< Pressure > | readPressure (double frequency, double tx_depth, double rx_depth, double rx_range) const override |
| virtual std::unique_ptr< TimeArr > | readTimeArr (double frequency, double tx_depth, double rx_depth, double rx_range) const override |
| Public Member Functions inherited from woss::ResReader | |
| ResReader (const Woss &woss) | |
| virtual | ~ResReader ()=default |
| const Woss & | getWossRef () const |
| ResReader & | setFileName (const std::string &name) |
| std::string | getFileName () const |
Protected Member Functions | |
| std::complex< double > | readMapAvgPressure (double frequency, double tx_depth, double start_rx_depth, double start_rx_range, double end_rx_depth, double end_rx_range, double theta=0.0) |
| std::complex< double > | accessMap (double frequency, double tx_depth, double rx_depth, double rx_range, double theta=0.0) const |
| bool | getShdFile () |
| bool | getShdHeader () |
Protected Attributes | |
| bool | shd_header_collected |
| bool | shd_file_collected |
| std::ifstream | file_reader |
| ShdData | shd_file |
| ShdData_v1 | shd_file_v1 |
| double | last_tx_depth |
| double | last_start_rx_depth |
| double | last_start_rx_range |
| double | last_end_rx_depth |
| double | last_end_rx_range |
| std::complex< double > | last_ret_value |
| Protected Attributes inherited from woss::ResReader | |
| const Woss & | woss_ref |
| std::string | file_name |
Class for reading and manipulating results provided by any acoustic toolbox SHD file.
Class ShdResReader stores Pressure provided by any acoustic toolbox SHD file in a ShdData. It also offers Pressure manipulation and TimeArr conversion methods.
| ShdResReader::ShdResReader | ( | const Woss & | woss | ) |
ShdResReader constructor
| woss | const pointer to a const Woss object |
References file_reader, last_end_rx_depth, last_end_rx_range, last_ret_value, last_start_rx_depth, last_start_rx_range, last_tx_depth, woss::ResReader::ResReader(), shd_file, shd_file_collected, shd_file_v1, and shd_header_collected.

|
overridevirtualdefault |
|
protected |
Gets the Pressure value from ShdData Pressure array associated to given parameters
| frequency | frequency [hZ] |
| tx_depth | transmitter depth [m] |
| rx_depth | start receiver depth [m] |
| rx_range | start receiver range [m] |
| theta | theta value |
References woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_0, woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_1, woss::BellhopWoss::getBellhopShdSyntax(), shd_file, shd_file_v1, and woss::ResReader::woss_ref.
Referenced by readPressure(), and readTimeArr().

|
protected |
Process the SHD file data
References woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_0, woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_1, woss::ResReader::file_name, file_reader, woss::BellhopWoss::getBellhopShdSyntax(), woss::Pressure::getTxLossDb(), shd_file, shd_file_collected, shd_file_v1, and woss::ResReader::woss_ref.
Referenced by initialize().

|
protected |
Process the SHD file header
References woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_0, woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_1, woss::ResReader::file_name, file_reader, woss::BellhopWoss::getBellhopShdSyntax(), shd_file, shd_file_v1, shd_header_collected, and woss::ResReader::woss_ref.
Referenced by initialize().

|
overridevirtual |
Initializes the ShdResReader object, reads SHD file, and stores read Pressure values
Implements woss::ResReader.
References woss::ResReader::file_name, getShdFile(), and getShdHeader().

|
overridevirtual |
Gets the average Pressure value in given rx range-depth box
| frequency | frequency [hZ] |
| tx_depth | transmitter depth [m] |
| start_rx_depth | start receiver depth [m] |
| start_rx_range | start receiver range [m] |
| end_rx_depth | end receiver depth [m] |
| end_rx_range | end receiver range [m] |
Implements woss::ResReader.
References woss::Pressure::createNotValid(), woss::DefHandler::createPressure(), woss::Singleton< DefHandler >::instance(), readMapAvgPressure(), and shd_file_collected.

|
protected |
Gets the average Pressure value in given rx range-depth box from ShdData Pressure array
| frequency | frequency [hZ] |
| tx_depth | transmitter depth [m] |
| start_rx_depth | start receiver depth [m] |
| start_rx_range | start receiver range [m] |
| end_rx_depth | end receiver depth [m] |
| end_rx_range | end receiver range [m] |
| theta | theta value |
References woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_0, woss::BELLHOP_CREATOR_SHD_FILE_SYNTAX_1, woss::BellhopWoss::getBellhopShdSyntax(), last_end_rx_depth, last_end_rx_range, last_ret_value, last_start_rx_depth, last_start_rx_range, last_tx_depth, shd_file, shd_file_v1, and woss::ResReader::woss_ref.
Referenced by readAvgPressure().

|
overridevirtual |
Gets a Pressure value of given range, depths
| frequency | frequency [hZ] |
| tx_depth | transmitter depth [m] |
| rx_depth | receiver depth [m] |
| rx_range | receiver range [m] |
Implements woss::ResReader.
References accessMap(), woss::Pressure::createNotValid(), woss::DefHandler::createPressure(), woss::Singleton< DefHandler >::instance(), and shd_file_collected.

|
overridevirtual |
SHD files don't hold any time arrivals information. A special TimeArr is constructed from Pressure associated to given paramaters.
| frequency | frequency [hZ] |
| tx_depth | transmitter depth [m] |
| rx_depth | receiver depth [m] |
| rx_range | receiver range [m] |
Implements woss::ResReader.
References accessMap(), woss::Pressure::createNotValid(), woss::DefHandler::createTimeArr(), woss::Singleton< DefHandler >::instance(), and shd_file_collected.

|
protected |
Input file stream
Referenced by getShdFile(), getShdHeader(), and ShdResReader().
|
protected |
Referenced by readMapAvgPressure(), and ShdResReader().
|
protected |
Referenced by readMapAvgPressure(), and ShdResReader().
|
protected |
Referenced by readMapAvgPressure(), and ShdResReader().
|
protected |
Referenced by readMapAvgPressure(), and ShdResReader().
|
protected |
Referenced by readMapAvgPressure(), and ShdResReader().
|
protected |
Referenced by readMapAvgPressure(), and ShdResReader().
|
protected |
Struct that holds Pressure data read from SHD file
Referenced by accessMap(), getShdFile(), getShdHeader(), readMapAvgPressure(), and ShdResReader().
|
protected |
Boolean associated to the reading of SHD file data
Referenced by getShdFile(), readAvgPressure(), readPressure(), readTimeArr(), and ShdResReader().
|
protected |
Struct that holds Pressure data read from SHD file with V1 syntax
Referenced by accessMap(), getShdFile(), getShdHeader(), readMapAvgPressure(), and ShdResReader().
|
protected |
Boolean associated to the reading of SHD file header
Referenced by getShdHeader(), and ShdResReader().