00001 #ifndef MARKSPACERATIOALGORITHM_H 00002 #define MARKSPACERATIOALGORITHM_H 00003 00004 #include "AnalysisAlgorithm.h" 00005 #include "SctData/MarkSpaceRatioTestResult.h" 00006 00007 namespace SctAnalysis { 00011 class MarkSpaceRatioAlgorithm : public AnalysisAlgorithm { 00012 public: 00013 virtual bool canAnalyze() const; 00014 virtual void analyze(); 00015 virtual void loadData(); 00016 virtual shared_ptr<SctData::TestResult> createTestResult() const; 00017 virtual boost::shared_ptr<AnalysisAlgorithm> clone(shared_ptr<const TestData> testData, const string& moduleName) const throw(); 00021 MarkSpaceRatioAlgorithm(shared_ptr<const TestData> testData, const string& moduleName, const AnalysisAlgorithm& alg) throw() : AnalysisAlgorithm(testData, moduleName, alg) {} 00025 virtual ~MarkSpaceRatioAlgorithm() throw() {} 00026 protected: 00027 virtual double getAverageOccupancy(const SctData::RawScanResult& raw, unsigned short ilink); 00028 private: 00029 MarkSpaceRatioAlgorithm() {} 00030 static bool inMap; 00031 void fixOptimum(SctData::MarkSpaceRatioTestResult& r); 00032 }; 00033 } 00034 00035 #endif //MARKSPACERATIOALGORITHM_H