00001 #ifndef STROBEDELAYALGORITHM_H 00002 #define STROBEDELAYALGORITHM_H 00003 #include "AnalysisAlgorithm.h" 00004 00005 namespace SctData { 00006 class StrobeDelayTestResult; 00007 class FitScanResult; 00008 } 00009 00010 namespace SctAnalysis { 00015 class StrobeDelayAlgorithm : public AnalysisAlgorithm { 00016 public: 00020 virtual void canAddFitScanResult(const string& name) throw(Sct::LogicError, Sct::IoError); 00024 virtual boost::shared_ptr<AnalysisAlgorithm> clone(const TestData& testData, const string& moduleName) const throw(); 00028 StrobeDelayAlgorithm(const TestData& testData, const string& moduleName) throw() : AnalysisAlgorithm(testData, moduleName) {} 00032 virtual ~StrobeDelayAlgorithm() throw() {} 00033 private: 00034 StrobeDelayAlgorithm() {} 00035 static bool inMap; 00040 static void optimize(SctData::StrobeDelayTestResult& result, const SctData::FitScanResult& fitted) throw(Sct::LogicError); 00041 }; 00042 } 00043 #endif //#ifndef STROBEDELAYALGORITHM_H