/** * @file MultiThreshInfo.hh * @brief The information about the thresholds coming from multiple databases * and fixed thresholds * @class MultiThreshInfo * @brief The information about the thresholds coming from multiple databases * and fixed thresholds * * One database or fixed threshold per input field * One set of thresholds per obar threshold */ #ifndef MultiThreshInfo_hh #define MultiThreshInfo_hh #include "DbThresh.hh" #include "ParmsEnsLookupGen.hh" #include <vector> class MultiThreshInfo { public: /** * Constructor, * @param[in] parms */ MultiThreshInfo(const ParmsEnsLookupGen &parms); /** * Destructor */ inline ~MultiThreshInfo(void) {} /** * Update state when a new gen time triggers * @param[in] genTime */ void newGenTime(const time_t &genTime); /** * Prepare output by appending grids and metadata XML to inputs * * @param[in,out] mOutGrid Grids * @param[in,out] xml Metadata XML */ void prepareOutput(//MultiGrid &mOutGrid, std::string &xml) const; /** * @return reference to the vector member */ inline const std::vector<DbThresh> & getDbThresh(void) const {return _dbThresh;} protected: private: /** * Params */ ParmsEnsLookupGen _parms; /** * Inputs. * Containers for database and fixed threshold, * one per field, each field can have different obar thresholds */ std::vector<DbThresh> _dbThresh; /** * Current time for database, which is supposed to synchronize * between multiple databases */ time_t _dbGenTime; }; #endif