hydrobricks
Loading...
Searching...
No Matches
ProcessOutflowLinear.h
1#ifndef HYDROBRICKS_PROCESS_OUTFLOW_LINEAR_H
2#define HYDROBRICKS_PROCESS_OUTFLOW_LINEAR_H
3
4#include "Forcing.h"
5#include "Includes.h"
6#include "ProcessOutflow.h"
7
16 public:
17 explicit ProcessOutflowLinear(WaterContainer* container);
18
19 ~ProcessOutflowLinear() override = default;
20
26 static void RegisterProcessSettings(SettingsModel* modelSettings);
27
31 void SetParameters(const ProcessSettings& processSettings) override;
32
36 [[nodiscard]] bool HasLinearResponse() const override {
37 return true;
38 }
39
43 [[nodiscard]] double GetLinearResponseRate() const override {
44 assert(_responseFactor);
45 return *_responseFactor;
46 }
47
48 protected:
49 const float* _responseFactor; // [1/d]
50
54 const vecDouble& GetRates() override;
55};
56
57#endif // HYDROBRICKS_PROCESS_OUTFLOW_LINEAR_H
Definition ProcessOutflowLinear.h:15
static void RegisterProcessSettings(SettingsModel *modelSettings)
Definition ProcessOutflowLinear.cpp:10
bool HasLinearResponse() const override
Definition ProcessOutflowLinear.h:36
const vecDouble & GetRates() override
Definition ProcessOutflowLinear.cpp:19
void SetParameters(const ProcessSettings &processSettings) override
Definition ProcessOutflowLinear.cpp:14
double GetLinearResponseRate() const override
Definition ProcessOutflowLinear.h:43
Definition ProcessOutflow.h:8
Definition SettingsModel.h:70
Definition WaterContainer.h:9
Definition SettingsModel.h:30