TemperCheckImp.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include <deque>
  2. #include <map>
  3. #include<iomanip>
  4. #include <iostream>
  5. #include <fstream>
  6. #include <time.h>
  7. #include <string>
  8. #include <sstream>
  9. using namespace std;
  10. class TemperCheckImp
  11. {
  12. private:
  13. float m_fTempHigh; //温度上限
  14. float m_fTempLow; //温度下线
  15. float m_fTempStdDev; //温度标准差
  16. int m_nQueueSize; //队列长度
  17. float m_fGradientMean; //温度梯度均值
  18. float m_fGradientStdDev; //温度梯度标准差
  19. string m_strLogPath;
  20. deque <float> m_dqTemp;
  21. deque <float> m_dqTempGradient;
  22. map <double, float> m_mapTemp;
  23. void PrintTime();
  24. public:
  25. TemperCheckImp();
  26. virtual ~TemperCheckImp(void);
  27. TemperCheckImp(float fSetTempHigh, float fSetTempLow, float fSetTempStdDev, float fSetGradientMean, float fSetGradientStdDev, int nSetQueueSize, char *LogPath);
  28. bool clearMapAndLog();
  29. //构造函数参数依次为:
  30. //温度上限
  31. //温度下限
  32. //温度标准差
  33. //温度梯度均值
  34. //温度梯度标准差
  35. //队列长度
  36. int TempeCheckMethod1(float fTemp);
  37. //返回值1符合标准。0不符合标准。-1输入参数错误,如 fSetTempLow>fSetTempHigh等。-2队列长度小于nSetQueueSize,继续采集。-3设定队列长度异常。
  38. int TempeCheckMethod2(float fTemp, double dTime);
  39. //返回值1符合标准。0不符合标准。-1输入参数错误,如 fSetTempLow>fSetTempHigh等。-2采集温度不再设定范围内。-3队列长度小于nSetQueueSize,继续采集。-4设定队列长度异常。
  40. };