World Ocean Simulation System (WOSS) library
res-reader.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_RES_READER_DEFINITIONS_H
41#define WOSS_RES_READER_DEFINITIONS_H
42
43
44#include <string>
45
46
47namespace woss {
48
49
50 class Woss;
51 class Pressure;
52 class TimeArr;
53
59 class ResReader {
60
61
62 public:
63
64
68 ResReader();
69
74 ResReader( const Woss* const woss );
75
76 virtual ~ResReader() { }
77
82 virtual bool initialize() = 0;
83
84
95 virtual Pressure* readAvgPressure( double frequency, double tx_depth, double start_rx_depth, double start_rx_range, double end_rx_depth, double end_rx_range ) = 0;
96
105 virtual Pressure* readPressure( double frequency, double tx_depth, double rx_depth, double rx_range ) const = 0;
106
107
116 virtual TimeArr* readTimeArr(double frequency, double tx_depth, double rx_depth, double rx_range ) const = 0;
117
118
124 ResReader& setWossPtr( const Woss* const woss ) { woss_ptr = woss; return *this; }
125
130 const Woss* const getWossPtr() { return woss_ptr; }
131
132
138 ResReader& setFileName( const ::std::string& name ) { file_name = name; return *this; }
139
144 ::std::string getFileName() { return file_name; }
145
146
147 protected:
148
149
154
155
159 ::std::string file_name;
160
161
162 };
163
164
165}
166
167
168#endif /* WOSS_RES_READER_DEFINITIONS_H */
169
170
Complex attenuated pressure class.
Definition pressure-definitions.h:59
Abstract class for channel simulator result files processing.
Definition res-reader.h:59
virtual TimeArr * readTimeArr(double frequency, double tx_depth, double rx_depth, double rx_range) const =0
ResReader & setFileName(const ::std::string &name)
Definition res-reader.h:138
virtual bool initialize()=0
const Woss * woss_ptr
Definition res-reader.h:153
const Woss *const getWossPtr()
Definition res-reader.h:130
ResReader & setWossPtr(const Woss *const woss)
Definition res-reader.h:124
virtual Pressure * readAvgPressure(double frequency, double tx_depth, double start_rx_depth, double start_rx_range, double end_rx_depth, double end_rx_range)=0
virtual Pressure * readPressure(double frequency, double tx_depth, double rx_depth, double rx_range) const =0
::std::string file_name
Definition res-reader.h:159
ResReader()
Definition res-reader.cpp:47
::std::string getFileName()
Definition res-reader.h:144
Channel power delay profile class.
Definition time-arrival-definitions.h:82
Abstract class that provides the interface for initializing and running a channel simulator.
Definition woss.h:94