ArrayCore/LinearFKParameters.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines