World Ocean Simulation System (WOSS) library
woss::ResReader Class Referenceabstract

Abstract class for channel simulator result files processing. More...

#include <res-reader.h>

Inheritance diagram for woss::ResReader:
Inheritance graph
Collaboration diagram for woss::ResReader:
Collaboration graph

Public Member Functions

 ResReader (const Woss &woss)
 
virtual ~ResReader ()=default
 
virtual bool initialize ()=0
 
virtual std::unique_ptr< PressurereadAvgPressure (double frequency, double tx_depth, double start_rx_depth, double start_rx_range, double end_rx_depth, double end_rx_range)=0
 
virtual std::unique_ptr< PressurereadPressure (double frequency, double tx_depth, double rx_depth, double rx_range) const =0
 
virtual std::unique_ptr< TimeArrreadTimeArr (double frequency, double tx_depth, double rx_depth, double rx_range) const =0
 
const WossgetWossRef () const
 
ResReadersetFileName (const std::string &name)
 
std::string getFileName () const
 

Protected Attributes

const Wosswoss_ref
 
std::string file_name
 

Detailed Description

Abstract class for channel simulator result files processing.

ResReader class has the task to read and process channel simulator result files

Constructor & Destructor Documentation

◆ ResReader()

ResReader::ResReader ( const Woss woss)

ResReader constructor

Parameters
wossconst pointer to a const Woss object

◆ ~ResReader()

virtual woss::ResReader::~ResReader ( )
virtualdefault

Member Function Documentation

◆ getFileName()

std::string woss::ResReader::getFileName ( ) const
inline

Gets the file(s) pathname

Returns
string pathname

References file_name.

◆ getWossRef()

const Woss & woss::ResReader::getWossRef ( ) const
inline

Gets the Woss pointer

Returns
const pointer to linked Woss object

References woss_ref.

◆ initialize()

virtual bool woss::ResReader::initialize ( )
pure virtual

Initializes the ResReader object

Returns
true if method was successful, false otherwise

Implemented in woss::ArrAscResReader, woss::ArrBinResReader, and woss::ShdResReader.

◆ readAvgPressure()

virtual std::unique_ptr< Pressure > woss::ResReader::readAvgPressure ( double  frequency,
double  tx_depth,
double  start_rx_depth,
double  start_rx_range,
double  end_rx_depth,
double  end_rx_range 
)
pure 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

Implemented in woss::ArrAscResReader, woss::ArrBinResReader, and woss::ShdResReader.

◆ readPressure()

virtual std::unique_ptr< Pressure > woss::ResReader::readPressure ( double  frequency,
double  tx_depth,
double  rx_depth,
double  rx_range 
) const
pure 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

Implemented in woss::ArrAscResReader, woss::ArrBinResReader, and woss::ShdResReader.

◆ readTimeArr()

virtual std::unique_ptr< TimeArr > woss::ResReader::readTimeArr ( double  frequency,
double  tx_depth,
double  rx_depth,
double  rx_range 
) const
pure 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

Implemented in woss::ArrAscResReader, woss::ArrBinResReader, and woss::ShdResReader.

◆ setFileName()

ResReader & woss::ResReader::setFileName ( const std::string &  name)
inline

Sets the file(s) pathname

Parameters
nameconst reference to a valid pathname
Returns
reference to *this

References file_name.

Member Data Documentation

◆ file_name

◆ woss_ref


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