00001 /*************************************************************************** 00002 ** 00003 ** This file is part of MonoStation. 00004 ** 00005 ** This file may be distributed and/or modified under the terms of the 00006 ** GNU General Public License version 2 or 3 as published by the Free 00007 ** Software Foundation and appearing in the file LICENSE.GPL included 00008 ** in the packaging of this file. 00009 ** 00010 ** This file is distributed in the hope that it will be useful, but WITHOUT 00011 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00012 ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00013 ** more details. 00014 ** 00015 ** You should have received a copy of the GNU General Public License 00016 ** along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 ** 00018 ** 00019 ** 00020 ** Created: 2012-02-03 00021 ** Authors: 00022 ** Marc Wathelet (ISTerre, Grenoble, France) 00023 ** 00024 ***************************************************************************/ 00025 00026 #ifndef ABSTRACTTOOLPARAMETERS_H 00027 #define ABSTRACTTOOLPARAMETERS_H 00028 00029 #include <GeopsyCore.h> 00030 00031 #include "MonoStationDLLExport.h" 00032 00033 namespace MonoStation { 00034 00035 class MONOSTATION_EXPORT AbstractToolParameters : public AbstractParameters 00036 { 00037 public: 00038 AbstractToolParameters(); 00039 ~AbstractToolParameters(); 00040 00041 enum HorizontalType {Energy, Azimuth, Squared}; 00042 00043 WindowingParameters& windowing() {return _windowing;} 00044 const WindowingParameters& windowing() const {return _windowing;} 00045 void setWindowing(const WindowingParameters& w) {_windowing=w;} 00046 00047 SamplingParameters& sampling() {return _sampling;} 00048 const SamplingParameters& sampling() const {return _sampling;} 00049 void setSampling(const SamplingParameters& s) {_sampling=s;} 00050 00051 TaperParameters& tapering() {return _tapering;} 00052 const TaperParameters& tapering() const {return _tapering;} 00053 void setTapering(const TaperParameters& t) {_tapering=t;} 00054 00055 SmoothingParameters& smoothing() {return _smoothing;} 00056 const SmoothingParameters& smoothing() const {return _smoothing;} 00057 void setSmoothing(const SmoothingParameters& s) {_smoothing=s;} 00058 00059 const bool& computeAverage() const {return _computeAverage;} 00060 void setComputeAverage(const bool& c) {_computeAverage=c;} 00061 00062 const double& highPassFrequency() const {return _highPassFrequency;} 00063 void setHighPassFrequency(const double& h) {_highPassFrequency=h;} 00064 00065 HorizontalType horizontal() const {return _horizontal;} 00066 QString horizontalString() const; 00067 void setHorizontal(HorizontalType h) {_horizontal=h;} 00068 void setHorizontal(const QString& h); 00069 00070 const double& horizontalAzimuth() const {return _horizontalAzimuth;} 00071 void setHorizontalAzimuth(const double& h) {_horizontalAzimuth=h;} 00072 00073 bool doMakeUp() const {return _doMakeUp;} 00074 void setDoMakeUp(bool d) {_doMakeUp=d;} 00075 00076 const QString& makeUpResults() const {return _makeUpResults;} 00077 void setMakeUpResults(const QString& m) {_makeUpResults=m;} 00078 00079 const QString& makeUpSummary() const {return _makeUpSummary;} 00080 void setMakeUpSummary(const QString& m) {_makeUpSummary=m;} 00081 00082 const int& plotCountPerLineResults() const {return _plotCountPerLineResults;} 00083 void setPlotCountPerLineResults(const int& p) {_plotCountPerLineResults=p;} 00084 00085 const double& pageHeightResults() const {return _pageHeightResults;} 00086 void setPageHeightResults(const double& p) {_pageHeightResults=p;} 00087 00088 virtual void collectKeywords(PARAMETERS_COLLECTKEYWORDS_ARGS); 00089 virtual int keywordCount(PARAMETERS_KEYWORDCOUNT_ARGS); 00090 virtual bool setValue(PARAMETERS_SETVALUE_ARGS); 00091 virtual QString toString(PARAMETERS_TOSTRING_ARGS_DECL) const; 00092 private: 00093 WindowingParameters _windowing; 00094 SamplingParameters _sampling; 00095 SmoothingParameters _smoothing; 00096 TaperParameters _tapering; 00097 bool _computeAverage; 00098 double _highPassFrequency; 00099 HorizontalType _horizontal; 00100 double _horizontalAzimuth; 00101 00102 bool _doMakeUp; 00103 QString _makeUpResults; 00104 QString _makeUpSummary; 00105 int _plotCountPerLineResults; 00106 double _pageHeightResults; 00107 }; 00108 00109 } // namespace MonoStation 00110 00111 #endif // ABSTRACTTOOLPARAMETERS_H