1 #ifndef MOJA_MODULES_CBM_STANDCOMPONENT_H_
2 #define MOJA_MODULES_CBM_STANDCOMPONENT_H_
4 #include "moja/modules/cbm/_modules.cbm_exports.h"
8 #include "moja/flint/ipool.h"
9 #include "moja/flint/modulebase.h"
11 #include <unordered_map>
20 std::shared_ptr<RootBiomassEquation> rootBiomassEquation,
21 std::shared_ptr<ComponentBiomassCarbonCurve> growthCurve)
22 : _forestType(forestType), _growthCurve(growthCurve) {
24 _rootBiomassEquation = rootBiomassEquation;
29 virtual const std::string&
forestType()
const {
return _forestType; }
31 virtual double calculateRootBiomass(flint::ILandUnitDataWrapper* landUnitData)
const;
32 virtual std::unordered_map<std::string, double> getIncrements(flint::ILandUnitDataWrapper* landUnitData,
double standRootBiomass)
const;
33 virtual std::vector<double> getAboveGroundCarbonCurve()
const;
35 virtual const std::vector<double>& getMerchCarbonCurve()
const;
36 virtual const std::vector<double>& getFoliageCarbonCurve()
const;
37 virtual const std::vector<double>& getOtherCarbonCurve()
const;
44 std::unordered_map<std::string, double> getAGIncrements(
45 const flint::IVariable* age,
const flint::IPool* merch,
const flint::IPool* other,
46 const flint::IPool* foliage)
const;