00001 00069 #ifndef _M_LC_CURVE_ANALYZER_HH_ 00070 #define _M_LC_CURVE_ANALYZER_HH_ 00071 00072 #include "QModule.hh" 00073 #include "QLoadCurve.hh" 00074 00075 #include <string> 00076 00077 class MLCCurveAnalyzer : public QModule { 00078 00079 public: 00081 MLCCurveAnalyzer(QSequence* s); 00082 00084 virtual ~MLCCurveAnalyzer(); 00085 00087 void Init(); 00088 00090 QEvent* Do(QEvent* ev); 00091 00093 void Done(); 00094 private: 00095 00100 enum QLCCurveType_t { 00101 QLC_InitCurve_c, 00103 QLC_LoadCurve_c, 00104 QLC_HPCurve_c, 00105 QLC_DefaultCurve_c = QLC_InitCurve_c 00106 }; 00107 00109 QLCCurveType_t fCurveType; 00110 00112 std::string fDumpPath; 00113 00115 std::map<unsigned int, QBaseLoadCurve*> fCurves; 00116 00118 std::list<unsigned int> fChannelsWithHeater; 00119 00124 unsigned int fNumNoisePerConfig; 00125 00130 unsigned int fNumHPPerConfig; 00131 00132 00134 void GetChannelsWithHeater(); 00135 00144 void SetCurveType(const std::string& curveType); 00145 00147 void AddNewCurve(unsigned int lg); 00148 00150 void Dump(); 00151 00152 }; 00153 #endif // _M_LC_CURVE_ANALYZER_HH_