#ifndef PULSELENGTHSTAT_ANALYZER_H #define PULSELENGTHSTAT_ANALYZER_H #include #include "PulseLengthStatAnalyzerSettings.h" #include "PulseLengthStatAnalyzerResults.h" #include "PulseLengthStatSimulationDataGenerator.h" #include class ANALYZER_EXPORT PulseLengthStatAnalyzer : public Analyzer2 { public: PulseLengthStatAnalyzer(); virtual ~PulseLengthStatAnalyzer(); virtual void SetupResults(); virtual void WorkerThread(); virtual U32 GenerateSimulationData(U64 newest_sample_requested, U32 sample_rate, SimulationChannelDescriptor** simulation_channels); virtual U32 GetMinimumSampleRateHz(); virtual const char* GetAnalyzerName() const; virtual bool NeedsRerun(); protected: PulseLengthStatAnalyzerSettings mSettings; std::unique_ptr mResults; AnalyzerChannelData* mChannelData; PulseLengthStatSimulationDataGenerator mSimulationDataGenerator; bool mSimulationInitilized; }; extern "C" ANALYZER_EXPORT const char* __cdecl GetAnalyzerName(); extern "C" ANALYZER_EXPORT Analyzer* __cdecl CreateAnalyzer(); extern "C" ANALYZER_EXPORT void __cdecl DestroyAnalyzer(Analyzer* analyzer); #endif