00001 #ifndef SCT_CALIBRATIONCONTROL_CONFIGUPDATER
00002 #define SCT_CALIBRATIONCONTROL_CONFIGUPDATER
00003 #include <boost/noncopyable.hpp>
00004 #include "SctData/TestResult.h"
00005
00006 namespace SctCalibrationController {
00007
00015 class ConfigUpdater : boost::noncopyable {
00016 public:
00017 virtual void update(const SctData::TestResult& t) const = 0;
00018 protected:
00019 ConfigUpdater(){;}
00020 virtual ~ConfigUpdater(){;}
00021 unsigned long getMID(const SctData::TestResult& t) const;
00022 };
00023
00024
00025 class StrobeDelayConfigUpdater : public ConfigUpdater{
00026 public:
00027 virtual void update(const SctData::TestResult& t) const;
00028
00030 virtual ~StrobeDelayConfigUpdater() {;}
00031 private:
00032 StrobeDelayConfigUpdater() {;}
00033 static bool inMap;
00034 };
00035
00036 class NPtGainConfigUpdater : public ConfigUpdater{
00037 public:
00038 virtual void update(const SctData::TestResult& t) const;
00039 private:
00040 NPtGainConfigUpdater() {;}
00041 static bool inMap;
00042 };
00043
00044 class TrimRangeConfigUpdater : public ConfigUpdater{
00045 public:
00046 virtual void update(const SctData::TestResult& t) const;
00047 private:
00048 TrimRangeConfigUpdater() {;}
00049 static bool inMap;
00050 };
00051
00052 }
00053
00054 #endif