00001 00048 #ifndef _M_LC_CURVE_ANALYZER_HH_ 00049 #define _M_LC_CURVE_ANALYZER_HH_ 00050 00051 #include "QModule.hh" 00052 #include "QLoadCurve.hh" 00053 00054 #include <string> 00055 00056 class MLCCurveAnalyzer : public QModule { 00057 00058 public: 00060 MLCCurveAnalyzer(QSequence* s); 00061 00063 virtual ~MLCCurveAnalyzer(); 00064 00066 void Init(); 00067 00069 QEvent* Do(QEvent* ev); 00070 00072 void Done(); 00073 private: 00074 00075 enum QLCCurveType_t { 00076 QLC_InitCurve_c, 00078 QLC_LoadCurve_c, 00079 QLC_HPCurve_c, 00080 QLC_DefaultCurve_c = QLC_InitCurve_c 00081 }; 00082 00084 QLCCurveType_t fCurveType; 00085 00087 std::string fDumpPath; 00088 00090 std::map<unsigned short, QBaseLoadCurve*> fCurves; 00091 00093 std::list<int> fChannelsWithHeater; 00094 00095 00097 void GetChannelsWithHeater(); 00098 00108 void SetCurveType(const std::string& curveType); 00109 00111 void AddNewCurve(unsigned short lg); 00112 00113 void Dump(); 00114 00115 }; 00116 00117 #endif // _M_LC_CURVE_ANALYZER_HH_