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 PROCESSUNIT_H
00028 #define PROCESSUNIT_H
00029
00030 #include <QtCore>
00031 #include <GeopsyCore.h>
00032 #include <ArrayCore.h>
00033 #include <GeopsySLink.h>
00034
00035 class RealTimeArrayManager;
00036 class RealTimeHVManager;
00037
00038 class ProcessUnit : public QObject
00039 {
00040 Q_OBJECT
00041 public:
00042 ProcessUnit(QObject * parent=0);
00043 ~ProcessUnit();
00044
00045 void setServer(QString serverAddress, quint16 port);
00046 void setStreams(QString streams) {_streams=streams;}
00047
00048 void setArrayWindowLength(double wl);
00049 void setHVWindowLength(double wl);
00050
00051 void clearCoordinates();
00052 void addCoordinate(QString station, Point p);
00053 private slots:
00054 void seedLinkError(SeedLink::Error e);
00055 void streamInfoAvailable();
00056 void monitorDataChange(Signal * sig, const TimeRange& r);
00057 void startArrayProcess();
00058 void stopArrayProcess();
00059 void startHVProcess();
00060 void stopHVProcess();
00061 void updateDataProcess();
00062 private:
00063 void selectStreams();
00064
00065 SeedLink _seedLink;
00066 QString _streams;
00067
00068 QTimer _processUpdateTimer;
00069 RealTimeArrayManager * _arrayProcess;
00070
00071
00072 QSet<QString> _stationNames;
00073 QMap<QString, Point> _stationCoordinates;
00074
00075 double _maximumTime;
00076 ArrayStations _array;
00077
00078 SamplingParameters _frequencies;
00079 double _frequencyBandWidth;
00080 double _arrayWindowLength, _hvWindowLength;
00081 };
00082
00083 #endif // PROCESSUNIT_H