Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef MAXENTRYLIST_H
00028 #define MAXENTRYLIST_H
00029
00030 #include <QGpCoreTools.h>
00031
00032 #include "MaxEntry.h"
00033
00034 class MaxEntryList : public QList<MaxEntry *>
00035 {
00036 TRANSLATIONS("MaxEntryList")
00037 public:
00038 MaxEntryList() {_type=Undefined;}
00039 ~MaxEntryList();
00040
00041 enum Type {Undefined, FK, SPAC, TFA, CURVE};
00042
00043 Type type() const {return _type;}
00044 void setType(Type t) {_type=t;}
00045
00046 bool load(QString fileName);
00047 bool save(QString fileName);
00048 void toStream(QTextStream& s);
00049
00050 RealStatisticalValue meanValue(double x, SamplingOption ySampling) const;
00051 int count(double x) const;
00052 int count( ) const {return QList<MaxEntry *>::count();}
00053
00054 void unselectValue(double x, double minSlowness, double maxSlowness);
00055 void selectAll(double x);
00056 void selectAll();
00057
00058 void rejectValue(double minValue, double maxValue);
00059
00060 IrregularGrid2D initGrid(int nValues, double minValue, double maxValue, SamplingOption ySampling);
00061 void fillGrid(IrregularGrid2D& grid);
00062
00063 void rejectPower(double relativeFactor, double absoluteFactor);
00064 void unselectPower(double relativeFactor, double absoluteFactor);
00065 void unselectWavenumber(double minWavenumber, double maxWavenumber);
00066 void keepRing(int ringIndex);
00067 void keepComponent(int componentIndex);
00068 void rejectAmplitudeVerticalFactor(double factor);
00069 void rejectAmplitudeVerticalAbsolute(double ampZ);
00070 void rejectAmplitudeHorizontalAbsolute(double ampH);
00071 void rejectLowerDelays(double minDelay);
00072 void rejectHigherDelays(double maxDelay);
00073 void rejectNPeaksPerMinute(double nppm);
00074 void rejectNPeaksPerFrequency(int npf);
00075 void rejectDelay(double delay);
00076 void unselectAmplitude(double factor);
00077 void rejectTime(double min, double max);
00078 private:
00079 static bool lessThan(const MaxEntry * e1, const MaxEntry * e2) {return *e1 < *e2;}
00080 void minPowerVectors(QMap<double,double>& minRelPow, QMap<double,double>& minAbsPow,
00081 double relativeFactor, double absoluteFactor);
00082 void minAmplitudeVectors(QMap<double,double>& minVAmplitude, double factor);
00083 QList<double> xSamples() const;
00084
00085 Type _type;
00086 };
00087
00088 #endif // MAXENTRYLIST_H