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
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(shared_ptr<const TestData> testData, const string& moduleName) const throw();
00033 RxThresholdBasedOnConfigRegisterAlgorithm(shared_ptr<const TestData> testData, const string& moduleName, const AnalysisAlgorithm& alg) throw();
00037 virtual ~RxThresholdBasedOnConfigRegisterAlgorithm() throw() {}
00038
00039
00040 void setFraction(float fraction) {m_fraction=fraction;}
00041
00042 float getFraction() const {return m_fraction;}
00043 private:
00044 float m_fraction;
00045 RxThresholdBasedOnConfigRegisterAlgorithm() {}
00046 static bool inMap;
00047 };
00048 }
00049
00050 #endif //RXTHRESHOLDBASEDONCONFIGREGISTERALGORITHM_H