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
00028 #ifndef STATIONPROCESSSIGNALS_H
00029 #define STATIONPROCESSSIGNALS_H
00030
00031 #include "GeopsyCoreDLLExport.h"
00032 #include "StationSignals.h"
00033
00034 namespace GeopsyCore {
00035
00036 class GEOPSYCORE_EXPORT StationProcessSignals
00037 {
00038 TRANSLATIONS("StationProcessSignals")
00039 public:
00040 StationProcessSignals(const StationSignals * originalSignals);
00041 virtual ~StationProcessSignals();
00042
00043 int nComponents() const {return _originals->nComponents();}
00044 const StationSignals * originalSignals() const {return _originals;}
00045
00046 void setHighPassFilter(double frequency);
00047
00048 virtual void setProcessed(const TimeRange& tw, AbstractParameters * param)=0;
00049 DoubleSignal * processed (int iComp) const {return _signals[iComp].processed;}
00050 DoubleSignal *& processed(int iComp) {return _signals[iComp].processed;}
00051 const double * processedSamples(int iComp) {return _signals[iComp].processedSamples;}
00052
00053 bool lockSamples();
00054 void unlockSamples();
00055
00056 protected:
00057 void copyOriginalSignal(int iComp, const TimeRange& tw);
00058 private:
00059 const StationSignals * _originals;
00060 class ComponentSignals {
00061 public:
00062 ComponentSignals() {processed=0; merged=0; filtered=0;processedSamples=0;}
00063 QList<DoubleSignal *> * merged;
00064 QList<DoubleSignal *> * filtered;
00065 DoubleSignal * processed;
00066 const double * processedSamples;
00067 };
00068 ComponentSignals * _signals;
00069
00070 bool setKeep(int iComp, const TimeRange& tw, const WindowingParameters& param, int stationIndex);
00071 };
00072
00073 }
00074
00075 #endif // STATIONPROCESSSIGNALS_H