00001
00002
00004 #ifndef __InjEct__
00005 #define __InjEct__
00006
00007 #include "Streams.h"
00008 #include "InjRea.h"
00009 #include "GwollumPlot.h"
00010
00011 using namespace std;
00012
00017 class InjEct: public InjRea, public GwollumPlot {
00018
00019 public:
00020
00034 InjEct(Streams* aStream, const string aPattern, const int aVerbose=0);
00035
00039 virtual ~InjEct();
00048 void UpdateNativeSamplingFrequency(void);
00049
00056 bool Inject(const int aDataSize, double *aData, const double aTimeStart);
00057
00067 bool PlotInjection(const int aInjIndex);
00068
00069 private:
00070
00071 Streams *InStream;
00072
00073
00074 int sampling;
00075 double *window;
00076 TGraph *hplus;
00077 TGraph *hcross;
00078 TGraph *hdet;
00079
00080 bool GenerateWaveforms(const int aInjIndex);
00081 void GenerateSineGauss();
00082 void Project(void);
00083 double* GetTukeyWindow(const int aSize,
00084 const int aFractionSize);
00085
00086 ClassDef(InjEct,0)
00087 };
00088
00089 #endif
00090
00091