hydrobricks
Loading...
Searching...
No Matches
ProcessOutflowSlowcomp.h
1#ifndef HYDROBRICKS_PROCESS_OUTFLOW_SLOWCOMP_H
2#define HYDROBRICKS_PROCESS_OUTFLOW_SLOWCOMP_H
3
4#include "Includes.h"
5#include "ProcessOutflow.h"
6
8
27 public:
28 explicit ProcessOutflowSlowcomp(WaterContainer* container);
29
30 ~ProcessOutflowSlowcomp() override = default;
31
37 static void RegisterProcessSettings(SettingsModel* modelSettings);
38
42 [[nodiscard]] bool IsValid() const override;
43
47 void SetParameters(const ProcessSettings& processSettings) override;
48
49 protected:
50 const float* _maxContent; // gws1_max, the SLZ1 maximum content [mm]
51 ProcessOutflowLinear* _baseflow{nullptr}; // sibling linear baseflow (cached), for K1
52
56 const vecDouble& GetRates() override;
57
63 [[nodiscard]] ProcessOutflowLinear* FindSiblingBaseflow() const;
64};
65
66#endif // HYDROBRICKS_PROCESS_OUTFLOW_SLOWCOMP_H
Definition ProcessOutflowLinear.h:15
Definition ProcessOutflowSlowcomp.h:26
bool IsValid() const override
Definition ProcessOutflowSlowcomp.cpp:17
void SetParameters(const ProcessSettings &processSettings) override
Definition ProcessOutflowSlowcomp.cpp:33
const vecDouble & GetRates() override
Definition ProcessOutflowSlowcomp.cpp:53
static void RegisterProcessSettings(SettingsModel *modelSettings)
Definition ProcessOutflowSlowcomp.cpp:13
ProcessOutflowLinear * FindSiblingBaseflow() const
Definition ProcessOutflowSlowcomp.cpp:38
Definition ProcessOutflow.h:8
Definition SettingsModel.h:74
Definition WaterContainer.h:10
Definition SettingsModel.h:32