ALMaSS Rabbit ODdox  1.00
The rabbit model description following ODdox protocol
Classes | Macros | Typedefs | Enumerations
farm.h File Reference

Farm.h This file contains the headers for the Farm class
More...

Go to the source code of this file.

Classes

struct  PermCropData
 Used for storing permanent crop data for the farm rotation. More...
 
struct  tpct
 Used for storing farmers field size vectors. More...
 
struct  FarmEvent
 A struct to hold the information required to trigger a farm event. More...
 
struct  farminfo
 Used during saving farm/hunter information. More...
 
class  HunterInfo
 A data structure to hold hunter information for distribution. More...
 
class  Crop
 The base class for all crops. More...
 
struct  AlmassCrop
 Struct for storing ALMaSS crop type (TTypesOfVegetation) with a corresponding value (mainly crop area). More...
 
class  DataForOptimisation
 Class for storing data for optimisation. More...
 
class  DataForOptimisation::FarmData
 Class storing farm information: farm's number used in ALMaSS system, farm's soil type, farm's size (business or private) and farm's real ID number. More...
 
class  Farm
 The base class for all farm types. More...
 
class  ConventionalCattle
 Inbuilt farm type. More...
 
class  ConventionalPig
 Inbuilt farm type. More...
 
class  ConventionalPlant
 Inbuilt farm type. More...
 
class  OrganicPlant
 A farm that can have its rotation defined by the user at runtime. More...
 
class  OrganicPig
 A farm that can have its rotation defined by the user at runtime. More...
 
class  OrganicCattle
 A farm that can have its rotation defined by the user at runtime. More...
 
class  PesticideTrialControl
 Inbuilt special purpose farm type. More...
 
class  PesticideTrialToxicControl
 Inbuilt special purpose farm type. More...
 
class  PesticideTrialTreatment
 Inbuilt special purpose farm type. More...
 
class  ConvMarginalJord
 Inbuilt special purpose farm type. More...
 
class  AgroChemIndustryCerealFarm1
 Inbuilt special purpose farm type. More...
 
class  AgroChemIndustryCerealFarm2
 Inbuilt special purpose farm type. More...
 
class  AgroChemIndustryCerealFarm3
 Inbuilt special purpose farm type. More...
 
class  NoPesticideBaseFarm
 Inbuilt special purpose farm type. More...
 
class  NoPesticideNoPFarm
 Inbuilt special purpose farm type. More...
 
class  UserDefinedFarm
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm1
 
class  UserDefinedFarm2
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm3
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm4
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm5
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm6
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm7
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm8
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm9
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm10
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm11
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm12
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm13
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm14
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm15
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm16
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm17
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm18
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm19
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm20
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm21
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm22
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm23
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm24
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm25
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm26
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm27
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm28
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm29
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm30
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm31
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm32
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm33
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm34
 A farm that can have its rotation defined by the user at runtime. More...
 
class  UserDefinedFarm35
 A farm that can have its rotation defined by the user at runtime. More...
 
class  Livestock
 A class for storing livestock parameters and variables for optimising farms. More...
 
class  CropOptimised
 A class for storing all parameters and results of crop optimisation. More...
 
class  FarmManager
 The Farm Manager class. More...
 
struct  FarmManager::PesticideData
 Struct used for storing data on pesticide usage throughout the whole simulation (one instance, m_crops_summary_BIs). More...
 
class  OptimisingFarm
 A farm that carries out crop, pesticide and fertilizer planning using simplified optimisation or other decision startegies. More...
 
struct  OptimisingFarm::CropSort
 Struct used for sorting crops. More...
 
struct  OptimisingFarm::reverseSort
 Struct redefining operator < - used for sorting crops. More...
 
struct  OptimisingFarm::MakeRotation
 Struct used only in Bedriftsmodel crop type mode for creating m_rotation vector. Bool member used for marking the element of a vector as already assigned a TTypesOfVegetation crop type. More...
 
class  AnimalFarm
 Subclass of the OptimisingFarm. Either pig or cattle farm. More...
 
class  OptimisingPigFarm
 Subclass of the AnimalFarm. More...
 
class  OptimisingCattleFarm
 Subclass of the AnimalFarm. More...
 
class  NonAnimalFarm
 Subclass of the OptimisingFarm. Either plant or other farm. More...
 
class  OptimisingPlantFarm
 Subclass of the NonAnimalFarm. More...
 
class  OptimisingOtherFarm
 Subclass of the NonAnimalFarm. More...
 

Macros

#define PROG_START   1
 

Typedefs

typedef vector< unsigned > polylist
 
typedef vector< Hunter * > HunterList
 

Enumerations

enum  TTypesOfFarm {
  tof_ConventionalCattle =0, tof_ConventionalPig, tof_ConventionalPlant, tof_OrganicCattle,
  tof_OrganicPig, tof_OrganicPlant, tof_PTrialControl, tof_PTrialTreatment,
  tof_PTrialToxicControl, tof_ConvMarginalJord, tof_AgroChemIndustryCerealFarm1, tof_AgroChemIndustryCerealFarm2,
  tof_AgroChemIndustryCerealFarm3, tof_NoPesticideBase, tof_NoPesticideNoP, tof_UserDefinedFarm1,
  tof_UserDefinedFarm2, tof_UserDefinedFarm3, tof_UserDefinedFarm4, tof_UserDefinedFarm5,
  tof_UserDefinedFarm6, tof_UserDefinedFarm7, tof_UserDefinedFarm8, tof_UserDefinedFarm9,
  tof_UserDefinedFarm10, tof_UserDefinedFarm11, tof_UserDefinedFarm12, tof_UserDefinedFarm13,
  tof_UserDefinedFarm14, tof_UserDefinedFarm15, tof_UserDefinedFarm16, tof_UserDefinedFarm17,
  tof_UserDefinedFarm18, tof_UserDefinedFarm19, tof_UserDefinedFarm20, tof_UserDefinedFarm21,
  tof_UserDefinedFarm22, tof_UserDefinedFarm23, tof_UserDefinedFarm24, tof_UserDefinedFarm25,
  tof_UserDefinedFarm26, tof_UserDefinedFarm27, tof_UserDefinedFarm28, tof_UserDefinedFarm29,
  tof_UserDefinedFarm30, tof_UserDefinedFarm31, tof_UserDefinedFarm32, tof_UserDefinedFarm33,
  tof_UserDefinedFarm34, tof_UserDefinedFarm35, tof_OptimisingFarm
}
 
enum  TTypesOfOptFarms {
  toof_Other = 0, toof_Cattle, toof_Plant, toof_Pig,
  toof_Foobar
}
 
enum  TTypesOfSoils { tos_Sand = 0, tos_Other, tos_Clay, tos_Foobar }
 
enum  TTypesOfFarmSize { tofs_Business = 0, tofs_Private, tofs_Foobar }
 
enum  TTypesOfAnimals {
  toa_Horse = 0, toa_DCow, toa_Suckler, toa_DCalf,
  toa_MCalf, toa_MCattle, toa_Sheep, toa_Goat,
  toa_So, toa_Finisher, toa_Piglet, toa_Deer,
  toa_Mink, toa_EHen, toa_MHen, toa_Turkey,
  toa_Goose, toa_Duck, toa_MDuck, toa_Ostrich,
  toa_Foobar
}
 
enum  TTypesOfCrops {
  toc_SBarley = 0, toc_Oats, toc_OSCrops, toc_WBarley,
  toc_WWheat, toc_WRye, toc_Triticale, toc_SRape,
  toc_WRape, toc_OOilseed, toc_Peas, toc_OLSeed,
  toc_GrassSeed, toc_Potato, toc_PotatoFood, toc_SugarBeet,
  toc_GrassClover, toc_OLSeedCut, toc_SCerealSil, toc_PeasSil,
  toc_MaizeSil, toc_WCerealSil, toc_SCerealG, toc_PerGrassLow,
  toc_PerGrassNorm, toc_GrassEnv1, toc_GrassEnv2, toc_GrassRot,
  toc_Setaside, toc_Uncult, toc_OUncult, toc_FodderBeet,
  toc_OFodderBeet, toc_CloverGrz, toc_Veg, toc_Fruit,
  toc_FruitTree, toc_OSpecCrops, toc_ChrisTree, toc_EnergyFor,
  toc_OTriticale, toc_SpringRape, toc_Other, toc_Foobar
}
 
enum  TTypesOfParameters {
  top_Subsidy = 0, top_PriceLM, top_PriceHerb, top_PriceFi,
  top_PriceG, top_PriceH, top_PriceW, top_AlfaHerb,
  top_BetaHerb, top_AlfaFi, top_BetaFi, top_AlfaG,
  top_BetaG, top_AlfaH, top_BetaH, top_AlfaW,
  top_BetaW, top_Foobar
}
 
enum  TTypesOfLivestockParameters { tolp_AUKey = 0, tolp_Nusable, tolp_FUuKey, tolp_Foobar }
 
enum  TTypesOfCropVariables {
  tocv_AreaPercent = 0, tocv_AreaHa, tocv_N, tocv_Nt,
  tocv_BIHerb, tocv_BIFi, tocv_BI, tocv_Grooming,
  tocv_Hoeing, tocv_Weeding, tocv_TotalLoss, tocv_Response,
  tocv_Income, tocv_Costs, tocv_GM, tocv_Savings,
  tocv_Foobar
}
 
enum  TTypeOfFarmerGoal { tofg_profit = 0, tofg_yield, tofg_environment, tofg_Foobar }
 

Detailed Description

Farm.h This file contains the headers for the Farm class

by Frank Nikolaisen & Chris J. Topping
Version of June 2003

Doxygen formatted comments in July 2008

Definition in file farm.h.

Macro Definition Documentation

#define PROG_START   1

Typedef Documentation

typedef vector< Hunter* > HunterList

Definition at line 165 of file farm.h.

typedef vector<unsigned > polylist

Definition at line 162 of file farm.h.

Enumeration Type Documentation

Enumerator
tofg_profit 
tofg_yield 
tofg_environment 
tofg_Foobar 

Definition at line 365 of file farm.h.

365  {
366  tofg_profit = 0,
367  tofg_yield,
TTypeOfFarmerGoal
Definition: farm.h:365
Enumerator
toa_Horse 
toa_DCow 
toa_Suckler 
toa_DCalf 
toa_MCalf 
toa_MCattle 
toa_Sheep 
toa_Goat 
toa_So 
toa_Finisher 
toa_Piglet 
toa_Deer 
toa_Mink 
toa_EHen 
toa_MHen 
toa_Turkey 
toa_Goose 
toa_Duck 
toa_MDuck 
toa_Ostrich 
toa_Foobar 

Definition at line 245 of file farm.h.

245  {
246  toa_Horse = 0,
247  toa_DCow, // 1
248  toa_Suckler,
249  toa_DCalf,
250  toa_MCalf,
251  toa_MCattle,
252  toa_Sheep,
253  toa_Goat,
254  toa_So,
255  toa_Finisher,
256  toa_Piglet,
257  toa_Deer,
258  toa_Mink,
259  toa_EHen,
260  toa_MHen,
261  toa_Turkey,
262  toa_Goose,
263  toa_Duck,
264  toa_MDuck,
265  toa_Ostrich,
266  toa_Foobar // Must be in here and the last one as well!
Definition: farm.h:253
Definition: farm.h:258
Definition: farm.h:247
Definition: farm.h:259
Definition: farm.h:263
Definition: farm.h:260
Definition: farm.h:254
TTypesOfAnimals
Definition: farm.h:245
Definition: farm.h:257
Enumerator
toc_SBarley 
toc_Oats 
toc_OSCrops 
toc_WBarley 
toc_WWheat 
toc_WRye 
toc_Triticale 
toc_SRape 
toc_WRape 
toc_OOilseed 
toc_Peas 
toc_OLSeed 
toc_GrassSeed 
toc_Potato 
toc_PotatoFood 
toc_SugarBeet 
toc_GrassClover 
toc_OLSeedCut 
toc_SCerealSil 
toc_PeasSil 
toc_MaizeSil 
toc_WCerealSil 
toc_SCerealG 
toc_PerGrassLow 
toc_PerGrassNorm 
toc_GrassEnv1 
toc_GrassEnv2 
toc_GrassRot 
toc_Setaside 
toc_Uncult 
toc_OUncult 
toc_FodderBeet 
toc_OFodderBeet 
toc_CloverGrz 
toc_Veg 
toc_Fruit 
toc_FruitTree 
toc_OSpecCrops 
toc_ChrisTree 
toc_EnergyFor 
toc_OTriticale 
toc_SpringRape 
toc_Other 
toc_Foobar 

Definition at line 269 of file farm.h.

269  {
270  toc_SBarley = 0,
271  toc_Oats, //1
272  toc_OSCrops,
273  toc_WBarley,
274  toc_WWheat,
275  toc_WRye, //5
277  toc_SRape,
278  toc_WRape,
279  toc_OOilseed,
280  toc_Peas, //10
281  toc_OLSeed,
283  toc_Potato,
285  toc_SugarBeet, //15
289  toc_PeasSil,
290  toc_MaizeSil, //20
292  toc_SCerealG,
295  toc_GrassEnv1, //25
297  toc_GrassRot,
298  toc_Setaside,
299  toc_Uncult,
300  toc_OUncult, //30
304  toc_Veg,
305  toc_Fruit,
306  toc_FruitTree, //35
312  toc_Other,
313  toc_Foobar // Must be in here and the last one as well!
TTypesOfCrops
Definition: farm.h:269
Definition: farm.h:275
Definition: farm.h:271
Definition: farm.h:304
Definition: farm.h:280
Enumerator
tocv_AreaPercent 
tocv_AreaHa 
tocv_N 
tocv_Nt 
tocv_BIHerb 
tocv_BIFi 
tocv_BI 
tocv_Grooming 
tocv_Hoeing 
tocv_Weeding 
tocv_TotalLoss 
tocv_Response 
tocv_Income 
tocv_Costs 
tocv_GM 
tocv_Savings 
tocv_Foobar 

Definition at line 345 of file farm.h.

345  {
346  tocv_AreaPercent = 0,
347  tocv_AreaHa, //1
348  tocv_N,
349  tocv_Nt,
350  tocv_BIHerb, //2
351  tocv_BIFi,
352  tocv_BI,
354  tocv_Hoeing,
355  tocv_Weeding,
358  tocv_Income,
359  tocv_Costs,
360  tocv_GM,
361  tocv_Savings,
362  tocv_Foobar // Must be in here and the last one as well!
Definition: farm.h:352
Definition: farm.h:348
Definition: farm.h:349
Definition: farm.h:360
TTypesOfCropVariables
Definition: farm.h:345
Enumerator
tof_ConventionalCattle 
tof_ConventionalPig 
tof_ConventionalPlant 
tof_OrganicCattle 
tof_OrganicPig 
tof_OrganicPlant 
tof_PTrialControl 
tof_PTrialTreatment 
tof_PTrialToxicControl 
tof_ConvMarginalJord 
tof_AgroChemIndustryCerealFarm1 
tof_AgroChemIndustryCerealFarm2 
tof_AgroChemIndustryCerealFarm3 
tof_NoPesticideBase 
tof_NoPesticideNoP 
tof_UserDefinedFarm1 
tof_UserDefinedFarm2 
tof_UserDefinedFarm3 
tof_UserDefinedFarm4 
tof_UserDefinedFarm5 
tof_UserDefinedFarm6 
tof_UserDefinedFarm7 
tof_UserDefinedFarm8 
tof_UserDefinedFarm9 
tof_UserDefinedFarm10 
tof_UserDefinedFarm11 
tof_UserDefinedFarm12 
tof_UserDefinedFarm13 
tof_UserDefinedFarm14 
tof_UserDefinedFarm15 
tof_UserDefinedFarm16 
tof_UserDefinedFarm17 
tof_UserDefinedFarm18 
tof_UserDefinedFarm19 
tof_UserDefinedFarm20 
tof_UserDefinedFarm21 
tof_UserDefinedFarm22 
tof_UserDefinedFarm23 
tof_UserDefinedFarm24 
tof_UserDefinedFarm25 
tof_UserDefinedFarm26 
tof_UserDefinedFarm27 
tof_UserDefinedFarm28 
tof_UserDefinedFarm29 
tof_UserDefinedFarm30 
tof_UserDefinedFarm31 
tof_UserDefinedFarm32 
tof_UserDefinedFarm33 
tof_UserDefinedFarm34 
tof_UserDefinedFarm35 
tof_OptimisingFarm 

Definition at line 167 of file farm.h.

168 {
220 }TTypesOfFarm;
TTypesOfFarm
Definition: farm.h:167
Enumerator
tofs_Business 
tofs_Private 
tofs_Foobar 

Definition at line 239 of file farm.h.

239  {
240  tofs_Business = 0,
241  tofs_Private, // 1
242  tofs_Foobar // Must be in here and the last one as well!
TTypesOfFarmSize
Definition: farm.h:239
Enumerator
tolp_AUKey 
tolp_Nusable 
tolp_FUuKey 
tolp_Foobar 

Definition at line 338 of file farm.h.

338  {
339  tolp_AUKey = 0,
340  tolp_Nusable, //1
341  tolp_FUuKey, //2
342  tolp_Foobar // Must be in here and the last one as well!
TTypesOfLivestockParameters
Definition: farm.h:338
Enumerator
toof_Other 
toof_Cattle 
toof_Plant 
toof_Pig 
toof_Foobar 

Definition at line 224 of file farm.h.

224  {
225  toof_Other = 0,
226  toof_Cattle, // 1
227  toof_Plant, // 2
228  toof_Pig, // 3
229  toof_Foobar // Must be in here and the last one as well!
TTypesOfOptFarms
Definition: farm.h:224
Definition: farm.h:228
Enumerator
top_Subsidy 
top_PriceLM 
top_PriceHerb 
top_PriceFi 
top_PriceG 
top_PriceH 
top_PriceW 
top_AlfaHerb 
top_BetaHerb 
top_AlfaFi 
top_BetaFi 
top_AlfaG 
top_BetaG 
top_AlfaH 
top_BetaH 
top_AlfaW 
top_BetaW 
top_Foobar 

Definition at line 317 of file farm.h.

317  {
318  top_Subsidy = 0,
319  top_PriceLM, //1
321  top_PriceFi,
322  top_PriceG,
323  top_PriceH,
324  top_PriceW,
325  top_AlfaHerb,
326  top_BetaHerb,
327  top_AlfaFi,
328  top_BetaFi,
329  top_AlfaG,
330  top_BetaG,
331  top_AlfaH,
332  top_BetaH,
333  top_AlfaW,
334  top_BetaW,
335  top_Foobar // Must be in here and the last one as well!
TTypesOfParameters
Definition: farm.h:317
Enumerator
tos_Sand 
tos_Other 
tos_Clay 
tos_Foobar 

Definition at line 232 of file farm.h.

232  {
233  tos_Sand = 0,
234  tos_Other, // 1
235  tos_Clay, // 2
236  tos_Foobar // Must be in here and the last one as well!
Definition: farm.h:235
Definition: farm.h:233
TTypesOfSoils
Definition: farm.h:232