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 DYNAMICSIGNAL_H
00029 #define DYNAMICSIGNAL_H
00030
00031 #include "Signal.h"
00032 #include "GeopsyCoreDLLExport.h"
00033
00034 namespace GeopsyCore {
00035
00036 class GEOPSYCORE_EXPORT DynamicSignal : public Signal
00037 {
00038 TRANSLATIONS("DynamicSignal")
00039 public:
00040 DynamicSignal(SignalDB * db) : Signal(db) {_maxNSamples=0; _t0Shift=0;}
00041 ~DynamicSignal();
00042
00043 void shiftT0(int nSamples);
00044
00045 void set(double t, const int * samples, int nSamples);
00046 void set(double t, const double * samples, int nSamples);
00047 virtual int dataSize() const {return _maxNSamples * sizeof(double);}
00048 virtual void setNSamples(int n);
00049 private:
00050 virtual bool allocate();
00051 virtual void free();
00052 template <class sampleType> inline void set(double t, const sampleType * samples, int nSamples);
00053 private:
00054 int _maxNSamples;
00055 int _t0Shift;
00056 };
00057
00058 }
00059
00060 #endif // DYNAMICSIGNAL_H