FFSM++
1.1.0
French Forest Sector Model ++
|
This file is the header of BaseClass and it is included by ALL compiled code. More...
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <map>
#include <algorithm>
#include <numeric>
#include <limits>
#include <cstddef>
#include <random>
#include <fenv.h>
Go to the source code of this file.
Classes | |
class | iskey |
Class to provide a simple integer-string key to be used in std maps. More... | |
class | iiskey |
Class to provide a simple integer-integer-string key in std maps. More... | |
class | iisskey |
Class to provide a simple integer-integer-string-string key in std maps. More... | |
class | BaseClass |
Base class for the regmas application. More... | |
Macros | |
#define | M_PI 3.1415926535897932384626433832795 |
#define | M_LN2 0.69314718055994530941723212145818 |
#define | M_LN10 2.3025850929940456840179914546844 |
#define | PROD_ALL "PROD_ALL" |
All primary and transformed products. More... | |
#define | PROD_PRI "PROD_PRI" |
Primary products. More... | |
#define | PROD_SEC "PROD_SEC" |
Secondary products. More... | |
#define | DIAM_ALL "DIAM_ALL" |
All diameter classes. More... | |
#define | DIAM_PROD "DIAM_PROD" |
Diameter classes used for production (e.g. excluded the first one) More... | |
#define | DIAM_FIRST "DIAM_FIRST_CLASS" |
First diameter class (NOT used for production) More... | |
#define | FT_ALL "FT_ALL" |
All forest types. More... | |
#define | LBOUND_MIN -20000000000000000000.0 |
Lower bound in optimisation -10^19. More... | |
#define | UBOUND_MAX 20000000000000000000.0 |
Upper bound in optimisation 10^19. More... | |
Enumerations | |
enum | messageType { MSG_NO_MSG = 0, MSG_DEBUG = 1, MSG_INFO = 2, MSG_WARNING = 3, MSG_ERROR = 4, MSG_CRITICAL_ERROR = 5 } |
Type of message to be printed. More... | |
enum | dataType { TYPE_INT =0, TYPE_DOUBLE =1, TYPE_STRING =2, TYPE_BOOL =3 } |
Type of data requested. More... | |
enum | dataRequest { DATA_NOW = -1, DATA_INIT = -2, DATA_ERROR = -99999999999, OP_SUM =1, OP_AVG =5, RETNA = -9999, WORLD = -99999 } |
A generic enum to deal with data requests. More... | |
enum | outputVerbosity { OUTVL_NONE =0, OUTVL_AGGREGATED =10, OUTVL_DETAILED =15, OUTVL_MAPS =18, OUTVL_BINMAPS =20, OUTVL_ALL =25 } |
Verbosity level of the output. More... | |
enum | domains { DOM_PRI_PR =1, DOM_SEC_PR =2, DOM_ALL_PR =3, DOM_R2_PRI_PR =4, DOM_R2_SEC_PR =5, DOM_R2_ALL_PR =6, DOM_SCALAR =7, DOM_PRI_PR_ALLCOMBS =8 } |
Domain associated to a variable or a constrain in the optimisation of the market module. More... | |
enum | carbonStocks { STOCK_INV =1, STOCK_EXTRA =2, STOCK_PRODUCTS =3 } |
Carbon stocks. More... | |
enum | emissionType { EM_ENSUB =4, EM_MATSUB =5, EM_FOROP =6 } |
Emission types. More... | |
enum | contrainDirection { CONSTR_EQ =1, CONSTR_LE0 =2, CONSTR_GE0 =3 } |
enum | varType { VAR_VOL =1, VAR_AREA =2, VAR_IN =3 } |
enum | boundType { LBOUND =1, UBOUND =2 } |
This file is the header of BaseClass and it is included by ALL compiled code.
It contains also global enum and macro definitions that can be used anywhere in the code. If the code require some "case" parameter, put the cases in the enum here. DON'T USE NEGATIVE NUMBERS in the enums, as often negative numbers have a different meaning !
Definition in file BaseClass.h.
#define DIAM_ALL "DIAM_ALL" |
All diameter classes.
Definition at line 157 of file BaseClass.h.
Referenced by ModelData::getForData(), Carbon::getStock(), ModelCoreSpatial::initialiseCarbonModule(), Output::printForestData(), ModelCoreSpatial::registerCarbonEvents(), ModelCore::runManagementModule(), ModelData::setForData(), and ModelCore::updateMapAreas().
#define DIAM_FIRST "DIAM_FIRST_CLASS" |
First diameter class (NOT used for production)
Definition at line 163 of file BaseClass.h.
Referenced by ModelData::getForData(), and ModelData::setForData().
#define DIAM_PROD "DIAM_PROD" |
Diameter classes used for production (e.g. excluded the first one)
Definition at line 160 of file BaseClass.h.
Referenced by ModelData::getForData(), and ModelData::setForData().
#define FT_ALL "FT_ALL" |
All forest types.
Definition at line 166 of file BaseClass.h.
Referenced by ModelData::getForData(), ModelCore::runManagementModule(), and ModelData::setForData().
#define LBOUND_MIN -20000000000000000000.0 |
Lower bound in optimisation -10^19.
Definition at line 171 of file BaseClass.h.
#define M_LN10 2.3025850929940456840179914546844 |
Definition at line 143 of file BaseClass.h.
#define M_LN2 0.69314718055994530941723212145818 |
Definition at line 139 of file BaseClass.h.
#define M_PI 3.1415926535897932384626433832795 |
Definition at line 135 of file BaseClass.h.
#define PROD_ALL "PROD_ALL" |
All primary and transformed products.
Definition at line 148 of file BaseClass.h.
Referenced by ModelData::getProdData(), and ModelData::setProdData().
#define PROD_PRI "PROD_PRI" |
Primary products.
Definition at line 151 of file BaseClass.h.
Referenced by ModelData::getProdData(), and ModelData::setProdData().
#define PROD_SEC "PROD_SEC" |
Secondary products.
Definition at line 154 of file BaseClass.h.
Referenced by ModelData::getProdData(), and ModelData::setProdData().
#define UBOUND_MAX 20000000000000000000.0 |
Upper bound in optimisation 10^19.
Definition at line 174 of file BaseClass.h.
enum boundType |
Enumerator | |
---|---|
LBOUND | |
UBOUND |
Definition at line 127 of file BaseClass.h.
enum carbonStocks |
Carbon stocks.
Enumerator | |
---|---|
STOCK_INV |
Invetoried biomass (live and death tree logs) |
STOCK_EXTRA |
Extra biomass (soils, branches..) |
STOCK_PRODUCTS |
Biomass in forest products (sawns, pannels..) |
Definition at line 103 of file BaseClass.h.
enum contrainDirection |
Enumerator | |
---|---|
CONSTR_EQ | |
CONSTR_LE0 | |
CONSTR_GE0 |
Definition at line 115 of file BaseClass.h.
enum dataRequest |
A generic enum to deal with data requests.
Definition at line 72 of file BaseClass.h.
enum dataType |
Type of data requested.
Enumerator | |
---|---|
TYPE_INT |
The required data is an integer. |
TYPE_DOUBLE |
The required data is a double. |
TYPE_STRING |
The required data is a string. |
TYPE_BOOL |
The required data is a bool. |
Definition at line 65 of file BaseClass.h.
enum domains |
Domain associated to a variable or a constrain in the optimisation of the market module.
Definition at line 92 of file BaseClass.h.
enum emissionType |
Emission types.
Enumerator | |
---|---|
EM_ENSUB |
Energy substitution. |
EM_MATSUB |
Material substitution. |
EM_FOROP |
Flow from forest operations. |
Definition at line 109 of file BaseClass.h.
enum messageType |
Type of message to be printed.
Definition at line 55 of file BaseClass.h.
enum outputVerbosity |
Verbosity level of the output.
Enumerator | |
---|---|
OUTVL_NONE |
Output verbosity level none. |
OUTVL_AGGREGATED |
Output verbosity level print aggregated output (e.g. optimisation log) |
OUTVL_DETAILED |
Output verbosity level print (also) detailed output. |
OUTVL_MAPS |
Output verbosity level print (also) the maps in ascii grid format. |
OUTVL_BINMAPS |
Output verbosity level print (also) binary (png) maps. |
OUTVL_ALL |
Output verbosity level print everything. |
Definition at line 83 of file BaseClass.h.
enum varType |
Enumerator | |
---|---|
VAR_VOL | |
VAR_AREA | |
VAR_IN |
Definition at line 121 of file BaseClass.h.