8#include <boost/serialization/serialization.hpp>
9#include <boost/serialization/nvp.hpp>
12#ifndef FMTYIELDMODEL_Hm_included
13#define FMTYIELDMODEL_Hm_included
27 namespace property_tree
29 template <
class Key,
class Data,
class KeyCompare >
37 class FMTYieldRequest;
93 virtual std::unique_ptr<FMTYieldModel>
clone()
const = 0;
109 const std::vector<FMTTheme>& newthemes)
const;
118 const std::vector<FMTTheme>& basethemes)
const;
124 virtual operator std::string()
const;
150 template<
class Archive>
151 void serialize(Archive& ar,
const unsigned int version)
153 ar& boost::serialization::make_nvp(
"FMTobject", boost::serialization::base_object<FMTObject>(*
this));
Filter built from masks used to preSolve and postsolve FMTMask objects.
Definition: FMTMaskFilter.h:31
Base class of multiple FMT classes holding a shared exception handler pointer and logger.
Definition: FMTObject.h:49
Abstract class to be implemented as a machine learning yield model.
Definition: FMTYieldModel.h:45
virtual std::unique_ptr< FMTYieldModel > preSolve(const FMTMaskFilter &filter, const std::vector< FMTTheme > &newthemes) const
Return a presolved copy of the yield model, or the same model by default.
const std::vector< std::string > & getModelYields() const
Return the model yield names.
virtual std::unique_ptr< FMTYieldModel > postSolve(const FMTMaskFilter &filter, const std::vector< FMTTheme > &basethemes) const
Return a postsolved copy of the yield model, a clone by default.
virtual void clearRandomYieldsCache()
Clear the cache of all random yield models.
virtual ~FMTYieldModel()
Destructor for FMTYieldModel.
const std::string & getModelName() const
Return the model name.
virtual std::vector< std::vector< double > > getPeriodicValues() const
Try to turn the yield model into periodic constant values.
virtual const std::vector< double > predict(const Core::FMTYieldRequest &request) const =0
Predict the yield for a request.
virtual std::unique_ptr< FMTYieldModel > clone() const =0
clone the yield model.
std::string m_modelName
Definition: FMTYieldModel.h:137
FMTYieldModel(const FMTYieldModel &rhs)=default
Copy constructor for FMTYieldModel.
FMTYieldModel & operator=(const FMTYieldModel &rhs)=default
Default copy assignment operator for FMTYieldModel.
const std::string m_JSON_PROP_MODEL_NAME
Definition: FMTYieldModel.h:139
virtual void setModel(Models::FMTModel *p_modelPtr)
Set the model linked to the yield model.
std::vector< std::string > m_modelYields
Definition: FMTYieldModel.h:138
friend class boost::serialization::access
Definition: FMTYieldModel.h:142
Models::FMTModel * m_modelPtr
Definition: FMTYieldModel.h:140
FMTYieldModel()
Constructor for FMTYieldModel.
Request for yield values using a development and optionally a graph vertex.
Definition: FMTYieldRequest.h:37
Base class for the different models in FMT.
Definition: FMTModel.h:62
Definition: FMTYieldModel.h:30
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTAction.h:34
Definition: FMTAreaParser.h:35
Namespace containing all enumerator and classes used to construct or manipulate the different type of...
Definition: FMTAreaParser.h:54
basic_ptree< std::string, std::string, std::less< std::string > > ptree
Definition: FMTYieldModel.h:31
Definition: FMTAction.h:463