ClassFlowPostProcessing.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef __FLOWPOSTPROCESSING__
  2. #define __FLOWPOSTPROCESSING__
  3. #include "ClassFlow.h"
  4. #include "ClassFlowMakeImage.h"
  5. #include "ClassFlowCNNGeneral.h"
  6. #include "ClassFlowDefineTypes.h"
  7. #include <string>
  8. class ClassFlowPostProcessing :
  9. public ClassFlow
  10. {
  11. protected:
  12. std::vector<NumberPost*> NUMBERS;
  13. bool UpdatePreValueINI;
  14. int PreValueAgeStartup;
  15. bool ErrorMessage;
  16. bool IgnoreLeadingNaN; // SPEZIALFALL für User Gustl
  17. ClassFlowCNNGeneral* flowAnalog;
  18. ClassFlowCNNGeneral* flowDigit;
  19. string FilePreValue;
  20. ClassFlowMakeImage *flowMakeImage;
  21. bool LoadPreValue(void);
  22. string ShiftDecimal(string in, int _decShift);
  23. string ErsetzteN(string, double _prevalue);
  24. float checkDigitConsistency(double input, int _decilamshift, bool _isanalog, double _preValue);
  25. string RundeOutput(double _in, int _anzNachkomma);
  26. void InitNUMBERS();
  27. void handleDecimalSeparator(string _decsep, string _value);
  28. void handleMaxRateValue(string _decsep, string _value);
  29. void handleDecimalExtendedResolution(string _decsep, string _value);
  30. void handleMaxRateType(string _decsep, string _value);
  31. void handleAnalogDigitalTransitionStart(string _decsep, string _value);
  32. std::string GetStringReadouts(general);
  33. void WriteDataLog(int _index);
  34. public:
  35. bool PreValueUse;
  36. ClassFlowPostProcessing(std::vector<ClassFlow*>* lfc, ClassFlowCNNGeneral *_analog, ClassFlowCNNGeneral *_digit);
  37. virtual ~ClassFlowPostProcessing(){};
  38. bool ReadParameter(FILE* pfile, string& aktparamgraph);
  39. bool doFlow(string time);
  40. string getReadout(int _number);
  41. string getReadoutParam(bool _rawValue, bool _noerror, int _number = 0);
  42. string getReadoutError(int _number = 0);
  43. string getReadoutRate(int _number = 0);
  44. string getReadoutTimeStamp(int _number = 0);
  45. void SavePreValue();
  46. string GetPreValue(std::string _number = "");
  47. void SetPreValue(double zw, string _numbers, bool _extern = false);
  48. std::string GetJSON(std::string _id = "", std::string _mac = "", std::string _lineend = "\n");
  49. void UpdateNachkommaDecimalShift();
  50. std::vector<NumberPost*>* GetNumbers(){return &NUMBERS;};
  51. string name(){return "ClassFlowPostProcessing";};
  52. };
  53. #endif