00001 #ifndef RXTHRESHOLDBASEDONCONFIGREGISTERALGORITHM_H 00002 #define RXTHRESHOLDBASEDONCONFIGREGISTERALGORITHM_H 00003 00004 #include "AnalysisAlgorithm.h" 00005 00006 namespace SctAnalysis { 00010 class RxThresholdBasedOnConfigRegisterAlgorithm : public AnalysisAlgorithm { 00011 public: 00012 // categorise the data from any particular RxThreshold value: 00013 typedef enum {undecided,white,black,blackAndWhite,coloured} Category; 00014 public: 00015 static std::string categoryToString(const Category & category) { 00016 return 00017 category==undecided ? "undecided" : 00018 category==white ? "white" : 00019 category==black ? "black" : 00020 category==blackAndWhite ? "blackAndWhite" : 00021 category==coloured ? "coloured" : 00022 "couldNotFigureCategoryOut"; 00023 }; 00024 public: 00025 virtual bool canAnalyze() const; 00026 virtual void analyze(); 00027 virtual void loadData(); 00028 virtual shared_ptr<SctData::TestResult> createTestResult() const; 00029 virtual boost::shared_ptr<AnalysisAlgorithm> clone(const TestData& testData, const string& moduleName) const throw(); 00033 RxThresholdBasedOnConfigRegisterAlgorithm(const TestData& testData, const string& moduleName, const AnalysisAlgorithm& alg) throw() : AnalysisAlgorithm(testData, moduleName, alg) {} 00037 virtual ~RxThresholdBasedOnConfigRegisterAlgorithm() throw() {} 00038 00039 private: 00040 RxThresholdBasedOnConfigRegisterAlgorithm() {} 00041 static bool inMap; 00042 }; 00043 } 00044 00045 #endif //RXTHRESHOLDBASEDONCONFIGREGISTERALGORITHM_H