#ifndef __FLOWPOSTPROCESSING__ #define __FLOWPOSTPROCESSING__ #include "ClassFlow.h" #include "ClassFlowMakeImage.h" #include "ClassFlowCNNGeneral.h" #include "ClassFlowDefineTypes.h" #include class ClassFlowPostProcessing : public ClassFlow { protected: std::vector NUMBERS; bool UpdatePreValueINI; int PreValueAgeStartup; bool ErrorMessage; bool IgnoreLeadingNaN; // SPEZIALFALL für User Gustl ClassFlowCNNGeneral* flowAnalog; ClassFlowCNNGeneral* flowDigit; string FilePreValue; ClassFlowMakeImage *flowMakeImage; bool LoadPreValue(void); string ShiftDecimal(string in, int _decShift); string ErsetzteN(string, double _prevalue); float checkDigitConsistency(double input, int _decilamshift, bool _isanalog, double _preValue); string RundeOutput(double _in, int _anzNachkomma); void InitNUMBERS(); void handleDecimalSeparator(string _decsep, string _value); void handleMaxRateValue(string _decsep, string _value); void handleDecimalExtendedResolution(string _decsep, string _value); void handleMaxRateType(string _decsep, string _value); public: bool PreValueUse; ClassFlowPostProcessing(std::vector* lfc, ClassFlowCNNGeneral *_analog, ClassFlowCNNGeneral *_digit); bool ReadParameter(FILE* pfile, string& aktparamgraph); bool doFlow(string time); string getReadout(int _number); string getReadoutParam(bool _rawValue, bool _noerror, int _number = 0); string getReadoutError(int _number = 0); string getReadoutRate(int _number = 0); string getReadoutTimeStamp(int _number = 0); void SavePreValue(); string GetPreValue(std::string _number = ""); void SetPreValue(double zw, string _numbers, bool _extern = false); std::string GetJSON(std::string _id = "", std::string _mac = "", std::string _lineend = "\n"); void UpdateNachkommaDecimalShift(); std::vector* GetNumbers(){return &NUMBERS;}; string name(){return "ClassFlowPostProcessing";}; }; #endif