00001 #ifndef TXCURRENTALGORITHM_H
00002 #define TXCURRENTALGORITHM_H
00003
00004 #include "AnalysisAlgorithm.h"
00005
00006 namespace SctAnalysis {
00010 class TxCurrentAlgorithm : 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 TxCurrentAlgorithm(shared_ptr<const TestData> testData, const string& moduleName, const AnalysisAlgorithm& alg) throw() : AnalysisAlgorithm(testData, moduleName, alg) {}
00037 virtual ~TxCurrentAlgorithm() throw() {}
00038
00039 private:
00040 TxCurrentAlgorithm() {}
00041 static bool inMap;
00042 };
00043 }
00044
00045 #endif //TXCURRENTALGORITHM_H