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

class for storing data of any acoustic toolbox SHD file More...

#include <ac-toolbox-shd-reader.h>

Collaboration diagram for woss::ShdData_v1:
Collaboration graph

Public Member Functions

 ShdData_v1 ()=default
 
 ~ShdData_v1 ()=default
 
void initialize ()
 
int getPressureIndex (double tx_freq, double tx_depth, double rx_depth, double rx_range, double theta=0.0) const
 
int getIndex (float value, float array[], int32_t array_size) const
 
int getIndex (double value, double array[], int32_t array_size) const
 

Public Attributes

int32_t record_length = 0
 
std::unique_ptr< char[] > plot_type = nullptr
 
double frequency = 0.0
 
int32_t Nfreq = 0
 
std::unique_ptr< double[] > frequencies = nullptr
 
int32_t Ntheta = 0
 
std::unique_ptr< double[] > theta = nullptr
 
int32_t Nsd = 0
 
std::unique_ptr< float[] > tx_depths = nullptr
 
int32_t Nrd = 0
 
std::unique_ptr< float[] > rx_depths = nullptr
 
int32_t Nrr = 0
 
std::unique_ptr< double[]> rx_ranges = nullptr
 
int32_t Nrx_per_range = 0
 
double stabil_atten = 0.0
 
std::unique_ptr< std::complex< double >[] > press_values = nullptr
 

Detailed Description

class for storing data of any acoustic toolbox SHD file

class ShdData stores Pressure provided by any acoustic toolbox SHD file

Constructor & Destructor Documentation

◆ ShdData_v1()

woss::ShdData_v1::ShdData_v1 ( )
default

◆ ~ShdData_v1()

woss::ShdData_v1::~ShdData_v1 ( )
default

Member Function Documentation

◆ getIndex() [1/2]

int ShdData_v1::getIndex ( double  value,
double  array[],
int32_t  array_size 
) const

Returns the index of given array associated to given value

Parameters
valuetest value
arrayvalid pointer to an array
array_sizesize of passed array
Returns
valid array index value

◆ getIndex() [2/2]

int ShdData_v1::getIndex ( float  value,
float  array[],
int32_t  array_size 
) const

Returns the index of given array associated to given value

Parameters
valuetest value
arrayvalid pointer to an array
array_sizesize of passed array
Returns
valid array index value

Referenced by getPressureIndex().

◆ getPressureIndex()

int ShdData_v1::getPressureIndex ( double  tx_freq,
double  tx_depth,
double  rx_depth,
double  rx_range,
double  theta = 0.0 
) const

Returns the press_values index associated to given parameters

Parameters
tx_freqtransmitter frequency [hZ]
tx_depthtransmitter depth [m]
rx_depthreceiver depth [m]
rx_rangereceiver range [m]
thetatheta value
Returns
valid press_values index value

References frequencies, getIndex(), Nfreq, Nrr, Nrx_per_range, Nsd, Ntheta, rx_depths, rx_ranges, theta, and tx_depths.

Referenced by woss::ShdResReader::accessMap(), and woss::ShdResReader::readMapAvgPressure().

Here is the call graph for this function:

◆ initialize()

void woss::ShdData_v1::initialize ( )
inline

Member Data Documentation

◆ frequencies

std::unique_ptr< double[] > woss::ShdData_v1::frequencies = nullptr

◆ frequency

double woss::ShdData_v1::frequency = 0.0

Frequency value [Hz]

Referenced by woss::ShdResReader::getShdHeader(), and initialize().

◆ Nfreq

◆ Nrd

int32_t woss::ShdData_v1::Nrd = 0

Total number of receiver depths

Referenced by woss::ShdResReader::getShdFile(), woss::ShdResReader::getShdHeader(), and initialize().

◆ Nrr

int32_t woss::ShdData_v1::Nrr = 0

◆ Nrx_per_range

int32_t woss::ShdData_v1::Nrx_per_range = 0

◆ Nsd

int32_t woss::ShdData_v1::Nsd = 0

◆ Ntheta

int32_t woss::ShdData_v1::Ntheta = 0

Total number of theta values. See Bellhop code for more info

Referenced by getPressureIndex(), woss::ShdResReader::getShdFile(), woss::ShdResReader::getShdHeader(), and initialize().

◆ plot_type

std::unique_ptr< char[] > woss::ShdData_v1::plot_type = nullptr

Plot typename. See Bellhop code for more info

Referenced by woss::ShdResReader::getShdHeader(), and initialize().

◆ press_values

std::unique_ptr< std::complex<double>[] > woss::ShdData_v1::press_values = nullptr

◆ record_length

int32_t woss::ShdData_v1::record_length = 0

Record byte length of a binary SHD file. See Bellhop code for more info

Referenced by woss::ShdResReader::getShdFile(), woss::ShdResReader::getShdHeader(), and initialize().

◆ rx_depths

std::unique_ptr< float[] > woss::ShdData_v1::rx_depths = nullptr

Pointer to an array of receiver depths [m]

Referenced by getPressureIndex(), woss::ShdResReader::getShdFile(), woss::ShdResReader::getShdHeader(), and initialize().

◆ rx_ranges

std::unique_ptr<double[]> woss::ShdData_v1::rx_ranges = nullptr

Pointer to an array of receiver ranges [m]

Referenced by getPressureIndex(), woss::ShdResReader::getShdFile(), woss::ShdResReader::getShdHeader(), and initialize().

◆ stabil_atten

double woss::ShdData_v1::stabil_atten = 0.0

◆ theta

std::unique_ptr< double[] > woss::ShdData_v1::theta = nullptr

Pointer to an array of theta values

Referenced by getPressureIndex(), woss::ShdResReader::getShdHeader(), and initialize().

◆ tx_depths

std::unique_ptr< float[] > woss::ShdData_v1::tx_depths = nullptr

Pointer to an array of transmitter depths [m]

Referenced by getPressureIndex(), woss::ShdResReader::getShdFile(), woss::ShdResReader::getShdHeader(), and initialize().


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