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 } // end of namespace CallibrationController 00053 00054 #endif