00001 /*************************************************************************** 00002 ** 00003 ** This file is part of ArrayCore. 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-03-27 00021 ** Authors: 00022 ** Marc Wathelet (ISTerre, Grenoble, France) 00023 ** 00024 ***************************************************************************/ 00025 00026 #ifndef LINEARFKPARAMETERS_H 00027 #define LINEARFKPARAMETERS_H 00028 00029 #include <GeopsyCore.h> 00030 00031 #include "ArrayCoreDLLExport.h" 00032 00033 namespace ArrayCore { 00034 00035 class ARRAYCORE_EXPORT LinearFKParameters: public AbstractParameters 00036 { 00037 public: 00038 LinearFKParameters(); 00039 LinearFKParameters(const LinearFKParameters& o); 00040 00041 enum BeamPowerNormalization {Raw, Spectrum, Maximum}; 00042 enum YSamplingType {Slowness, Velocity}; 00043 00044 NormalizationParameters& normalization() {return _normalization;} 00045 const NormalizationParameters& normalization() const {return _normalization;} 00046 void setNormalization(const NormalizationParameters& n) {_normalization=n;} 00047 00048 TimeRangeParameters& timeRange() {return _timeRange;} 00049 const TimeRangeParameters& timeRange() const {return _timeRange;} 00050 void setTimeRange(const TimeRangeParameters& t) {_timeRange=t;} 00051 00052 TaperParameters& taper() {return _taper;} 00053 const TaperParameters& taper() const {return _taper;} 00054 void setTaper(const TaperParameters& t) {_taper=t;} 00055 00056 SamplingParameters& xSampling() {return _xSampling;} 00057 const SamplingParameters& xSampling() const {return _xSampling;} 00058 void setXSampling(const SamplingParameters& x) {_xSampling=x;} 00059 00060 SamplingParameters& ySampling() {return _ySampling;} 00061 const SamplingParameters& ySampling() const {return _ySampling;} 00062 void setYSampling(const SamplingParameters& y) {_ySampling=y;} 00063 00064 YSamplingType ySamplingType() const {return _ySamplingType;} 00065 QString ySamplingTypeString() const; 00066 void setYSamplingType(YSamplingType t) {_ySamplingType=t;} 00067 void setYSamplingType(const QString& t); 00068 00069 double frequencySmoothingFactor() const {return _frequencySmoothingFactor;} 00070 void setFrequencySmoothingFactor(double f) {_frequencySmoothingFactor=f;} 00071 00072 double frequencyBandwidth() const {return _frequencyBandwidth;} 00073 void setFrequencyBandwidth(double f) {_frequencyBandwidth=f;} 00074 00075 double minimumDistance() const {return _minimumDistance;} 00076 void setMinimumDistance(double m) {_minimumDistance=m;} 00077 00078 double maximumDistance() const {return _maximumDistance;} 00079 void setMaximumDistance(double m) {_maximumDistance=m;} 00080 00081 BeamPowerNormalization beamPowerNormalization() const {return _beamPowerNormalization;} 00082 QString beamPowerNormalizationString() const; 00083 void setBeamPowerNormalization(const BeamPowerNormalization& b) {_beamPowerNormalization=b;} 00084 void setBeamPowerNormalization(const QString& b); 00085 00086 double dampingFactor() const {return _dampingFactor;} 00087 void setDampingFactor(double d) {_dampingFactor=d;} 00088 00089 bool highResolution() const {return _highResolution;} 00090 void setHighResolution(bool hr) {_highResolution=hr;} 00091 00092 virtual void collectKeywords(PARAMETERS_COLLECTKEYWORDS_ARGS); 00093 virtual int keywordCount(PARAMETERS_KEYWORDCOUNT_ARGS); 00094 virtual bool setValue(PARAMETERS_SETVALUE_ARGS); 00095 virtual QString toString(PARAMETERS_TOSTRING_ARGS_DECL) const; 00096 private: 00097 double _minimumDistance; 00098 double _maximumDistance; 00099 TimeRangeParameters _timeRange; 00100 TaperParameters _taper; 00101 NormalizationParameters _normalization; 00102 double _frequencySmoothingFactor; 00103 double _frequencyBandwidth; 00104 bool _highResolution; 00105 double _dampingFactor; 00106 00107 SamplingParameters _xSampling; 00108 SamplingParameters _ySampling; 00109 YSamplingType _ySamplingType; 00110 BeamPowerNormalization _beamPowerNormalization; 00111 }; 00112 00113 } // namespace ArrayCore 00114 00115 #endif // LINEARFKPARAMETERS_H