![]() |
ALMaSS
1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
|
The class describing the Bembidion Egg_List objects. In general case this class should have only a constructor. More...
#include <Bembidion_All.h>
Public Member Functions | |
Bembidion_Egg_List (int a_today, Bembidion_Population_Manager *a_bpm_ptr, Landscape *a_l_ptr) | |
Egg_List class constructor. More... | |
![]() | |
Beetle_Egg_List (int today, Beetle_Population_Manager *a_bpm_ptr, Landscape *L) | |
Egg_List class constructor. More... | |
void | Step () override |
Egg_List class Step code. More... | |
void | BeginStep () override |
Egg_List class BeginStep code. More... | |
void | AddEgg (const int x, const int y) |
Add an egg to the list. More... | |
void | Clear () |
void | Supply_m_Location (const int i, int &a_x, int &a_y) const |
supplies the x-coordinate of a specific egg in the list More... | |
int | SupplyEggNumber () const |
double | GetStriglingMortality () const override |
Mortality by Strigling: similar for all forms– should use base class method. More... | |
double | GetSoilCultivationMortality () const override |
the method overrides the method that returns the mortality due to soil cultivation More... | |
double | GetInsecticideApplication () const override |
the method overrides the method that returns the mortality due to insecticide application More... | |
double | GetHarvestMortality () const override |
the method overrides the method that returns the mortality due to harvest More... | |
void | ExtremeTempMortality (double a_threshold) |
Extreme temperature mortality, this is only used for ladybird for now. More... | |
void | CannibalismMortality (Eigen::MatrixXi &a_death_map, int &a_kill_num) |
Death caused by cannibalism. This is only used by lady birds. More... | |
![]() | |
Beetle_Base (int a_x, int a_y, Landscape *a_l_ptr, Beetle_Population_Manager *a_bpm_ptr) | |
Beetle_Base Constructor. More... | |
virtual void | ReInit (int a_x, int a_y, Landscape *a_l_ptr, Beetle_Population_Manager *a_bpm_ptr) |
ReInit for object pool. More... | |
virtual void | SetState (const TTypesOfBeetleState a_state) |
Used to force a beetle state (e.g. at start of the simulation) More... | |
virtual void | StDie () |
Common state Die. More... | |
void | CopyMyself (int a_beetle) |
For experimental purposes. More... | |
virtual bool | GetDensityDependentMortality () |
The density dependent mortality calculation (cannibalism) defaults to none. More... | |
void | KillAndRemoveFromMap () |
Kills the beetle - this version forces the beetle to re-enter the Step code and call st_Dying. More... | |
void | IncDensity (int a_x, int a_y, int a_lifestage) |
The method inreases the number of beetles in this specific location by one. Used when called by a beetle of different lifestage than the one incremented. More... | |
void | DecDensity (int a_x, int a_y) |
The method decreases the number of beetles in this specific location by one. More... | |
void | KillOneInMap (int a_x, int a_y, int a_lifestage) |
The method decreases the number of beetles in this specific location by one. More... | |
void | IncDensity (const int a_x, const int a_y) |
The method inreases the number of beetles in this specific location by one. More... | |
void | DecDensity (const int a_x, const int a_y, const int a_lifestage) |
The method decreases the number of beetles in this specific location by one. Used when called by a beetle of different lifestage than the one dying. More... | |
int | GetDensity (int a_x, int a_y) const |
The method to return the number of beetles in this specific location. More... | |
int | GetDensityRange (int a_x, int a_y, int a_range) const |
The method to return the number of beetles in this specific location with a range. More... | |
int | GetDensityRangeEdge (int a_x, int a_y, int a_range) const |
The method to return the number of beetles in this specific location with a range. More... | |
virtual double | GetDevelopmentConstants (const int a_i) const |
the method returns the larvae development constant to be used in day degrees calculation More... | |
int | WhatState () override |
Return the beetle state as an integer. More... | |
![]() | |
TAnimal (int x, int y, Landscape *L) | |
The TAnimal constructor saving the x,y, location and the landscape pointer. More... | |
TAnimal (int x, int y) | |
The TAnimal constructor saving the x,y used if landscape is already set. More... | |
void | SetGuardMapIndex (int a_index_x, int a_index_y) |
Set the guard map index, this is used to avoid two animals operating in the same location when using multithread. More... | |
unsigned | SupplyFarmOwnerRef () const |
Get the current location farm ref if any. More... | |
AnimalPosition | SupplyPosition () const |
Returns the objects location and habitat type and veg type. More... | |
APoint | SupplyPoint () const |
Returns the objects location in ALMaSS coordinates. More... | |
int | SupplyPolygonRef () const |
Returns the polygon reference where the object is located. More... | |
TTypesOfLandscapeElement | SupplyPolygonType () const |
Returns the polygon type where the object is located. More... | |
int | Supply_m_Location_x () const |
Returns the ALMaSS x-coordinate. More... | |
int | Supply_m_Location_y () const |
Returns the ALMaSS y-coordinate. More... | |
int | SupplyGuardCellX () const |
Returns the x-index to the guard cell. More... | |
int | SupplyGuardCellY () const |
Returns the y-index to the guard cell. More... | |
int | SupplyAge () const |
Returns the animals age in days. More... | |
void | SetAge (int a_age) |
Sets the animals age in days. More... | |
virtual void | KillThis () |
Sets all parameters ready for object destruction. More... | |
virtual void | CopyMyself () |
Used to copy the object details to another in descendent classes. More... | |
void | SetX (const int a_x) |
Sets the x-coordinate. More... | |
void | SetY (const int a_y) |
Sets the y-coordinate. More... | |
virtual void | ReinitialiseObject (int a_x, int a_y, Landscape *a_l_ptr) |
virtual void | ReinitialiseObject (int a_x, int a_y) |
Used to re-use an object - must be implemented in descendent classes. More... | |
virtual void | Dying () |
A wrapped for KillThis - ideally should not be used. More... | |
void | CheckManagement () |
Used to start a check for any management related effects at the objects current location. More... | |
void | CheckManagementXY (int a_x, int a_y) |
Used to start a check for any management related effects at x,y. More... | |
![]() | |
int | GetCurrentStateNo () const |
Returns the current state number. More... | |
void | SetCurrentStateNo (int a_num) |
Sets the current state number. More... | |
bool | GetStepDone () const |
Returns the step done indicator flag. More... | |
void | SetStepDone (bool a_bool) |
Sets the step done indicator flag. More... | |
virtual void | EndStep () |
EndStep behaviour - must be implemented in descendent classes. More... | |
void | ReinitialiseObjectBase () |
Used to initialise an object. More... | |
TALMaSSObject () | |
The constructor for TALMaSSObject. More... | |
virtual | ~TALMaSSObject ()=default |
The destructor for TALMaSSObject. More... | |
Additional Inherited Members | |
![]() | |
static void | SetEgg_SoilCultivationMortality (const double a_value) |
Set egg soil mortality parameter. More... | |
static void | SetEgg_InsecticideApplication (const double a_value) |
Set Larval insecticide mortality parameter. More... | |
static void | SetDailyEggMort (const double a_value) |
Set the daily fixed mortality probability. More... | |
static void | SetEgg_StriglingMort (const double a_value) |
Set mechanical weeding mortality parameter. More... | |
static void | SetEgg_HarvestMort (const double a_value) |
Set harvest mortality parameter. More... | |
static void | SetEggPppElimRate (const double a_rate) |
static void | SetEggPppThreshold (const double a_thresh) |
static void | SetEggPppEffectProb (const double a_conc) |
static void | SetEggPppEffectProbDecay (const double a_decay) |
![]() | |
static int | GetDensityStage (int a_x, int a_y, unsigned a_stage) |
The method to return the number of beetles in this specific location for a given stage. More... | |
static int | GetDensityStages (int a_x, int a_y, int a_numberstageStart, int a_numberstangeEnd) |
The method to return the number of beetles in this specific location, summing multiple stages. More... | |
static int | GetDensityRangeStages (int a_x, int a_y, int a_range, int a_numberstageStart, int a_numberstangeEnd) |
The method to return the number of beetles in this specific location with a range, summing multiple stages. More... | |
static void | SetDevelopmentConstants (const std::vector< double > &a_value) |
Set the day degree constant. More... | |
static void | SetTodaysTempCategory (int a_category) |
Set the soil temperature category used for calculatiung mortality steps. More... | |
static void | SetMoveDistribution (const string &a_type_str, const string &a_args_str) |
Set the movement distribution. More... | |
static void | SetBeetleSuitableForHibernation (const TTovList &a_list) |
Set the list of tovs that are suitable for hibernation. More... | |
static void | SetBeetleReproductionLandscape (const TToleList &a_list) |
Set the list of toles that the beetles are allowed to reproduce upon. More... | |
static void | SetBeetleHalfReproductionLandscape (const TToleList &a_list) |
Set the list of toles that the beetles are allowed to reproduce upon, but that yield half of normal fertility (bembidion) More... | |
static void | SetDipsersalDayDegrees (const int a_value) |
static void | SetMaxShortRangeAttempts (const int a_value) |
static void | SetDDepRange (const int a_value) |
Set density-dependent range parameter. More... | |
static void | SizeBeetleMap (const int a_value) |
Size the lifestage map. More... | |
static void | SetBeetleMap (const int a_value, SimplePositionMapInt *a_map_ptr) |
Set lifestage map. More... | |
static int | ChooseDirection (const double(&a_probabilities)[8]) |
The function that draws the random number and checks in which interval in the probabilities vector are we This would be the direction the beetle will take. More... | |
![]() | |
static void | SetSimulationWidth (int a_value) |
Sets the simulation width. More... | |
static void | SetSimulationHeight (int a_value) |
Sets the simulation height. More... | |
static void | SetDayInYear (int a_value) |
Sets the day in year attribute. More... | |
static void | SetOurLandscape (Landscape *a_value) |
Sets the landscape pointer. More... | |
static void | SetTempToday (double a_value) |
Sets the temperature today attribute. More... | |
![]() | |
static void | OnArrayBoundsError () |
Used for debugging only, tests basic object properties. More... | |
![]() | |
static vector< SimplePositionMapInt * > | m_BeetleMaps = {} |
A list of pointers to the specific map for a beetle lifestage. More... | |
![]() | |
void | InternalPesticideHandlingAndResponse () override |
Handle pesticide events code for the beetle. More... | |
virtual TTypesOfBeetleState | St_Develop () |
Egg_List state development. More... | |
virtual TTypesOfBeetleState | St_Hatch () |
Egg_List state hatching. More... | |
bool | DailyMortality () override |
Checks daily mortality returns true on death. More... | |
![]() | |
virtual void | Init (Beetle_Population_Manager *a_bpm_ptr) |
Init for a beetle object. More... | |
bool | OnFarmEvent (FarmToDo event) override |
the farming event mortality. This is the function that is used for all the beetles. It calls methods that are re-defined by object and by method. More... | |
virtual bool | CheckManagementBeetle () |
virtual double | TempRelatedMortality () |
Basic movement for beetle. More... | |
virtual int | GetDDepthRange () const |
range at which density dependent mortality is applied - base class does not override, but others might need to More... | |
void | Beetle_1M_Move (int a_dist) |
The function that calculates the cumulative probability for the movement direction. It calls the movement factor method and processes ints result to adjust "p" (by reference) More... | |
virtual bool | IsLocationAllowed (int x, int y) |
virtual double | GetShortRangeDistance () const |
returns the length of the short range hop More... | |
virtual double | MovementFactor (int x, int y, int x1, int y1) |
function that calculates the factor that is taken into account when considering the movement of the individual More... | |
virtual double | GetDailyMortalityRate () const |
method returns the rate of the background mortality More... | |
![]() | |
void | CorrectWrapRound () |
Corrects wrap around co-ordinate problems. More... | |
![]() | |
TListOfEggs | m_EggList |
The list of eggs. More... | |
int | m_DayMade |
Records the day hatched for development calculations. More... | |
![]() | |
TTypesOfBeetleState | m_CurrentBState { tobs_Initiation } |
Current behavioural state. More... | |
Beetle_Population_Manager * | m_OurPopulation { nullptr } |
Pointer to the population manager. More... | |
double | m_BodyBurden { -1.0 } |
Current body burden of pesticide. More... | |
double | m_CurrentPppEffectProb { -1.0 } |
Current effect probability. More... | |
unsigned | m_Lifestage { 0 } |
This is a useful parameter holding the beetle type (this includes larval stages) More... | |
![]() | |
int | m_Location_x |
The objects ALMaSS x coordinate. More... | |
int | m_Location_y |
The objects ALMaSS y coordinate. More... | |
int | m_guard_cell_x |
The index x to the guard cell. More... | |
int | m_guard_cell_y |
The index y to the guard cell. More... | |
int | m_AgeDays {0} |
To hold the age in days. More... | |
PesticideToxicity | m_my_pesticide |
![]() | |
int | m_CurrentStateNo |
The basic state number for all objects - '-1' indicates death. More... | |
bool | m_StepDone |
Indicates whether the iterative step code is done for this timestep. More... | |
![]() | |
static double | m_DailyEggMort = 0.007 |
Daily fixed mortality probability. More... | |
static double | m_Egg_SoilCultivationMortality = 0 |
The egg soil mortality parameter. More... | |
static double | m_Egg_HarvestMort = 0 |
The egg harvest mortality parameter. More... | |
static double | m_Egg_StriglingMort = 0 |
The egg strigling mortality parameter. More... | |
static double | m_Egg_InsecticideApplication = 0 |
The egg nsecticide mortality parameter. More... | |
static double | m_BeetleEggPPPElimRate = 0 |
static double | m_BeetleEPPPThreshold = 0 |
static double | m_BeetleEPPPEffectProb = 0 |
static double | m_BeetleEPPPEffectProbDecay = 0 |
![]() | |
static vector< double > | m_DevelopmentConstants = {} |
Day degree constant, the target to reach before next stage. More... | |
static std::unique_ptr< probability_distribution > | m_Move_distribution = nullptr |
Probabilty of adult movement by distance to be defined by the probability type and parameters. More... | |
static TTovList | m_BeetleSuitableForHibernation = {tov_Undefined} |
the list of tovs that are suitable for hibernation More... | |
static TToleList | m_BeetleReproductionLandscape = {tole_Foobar} |
the list of toles that the beetles are allowed to reproduce upon More... | |
static TToleList | m_BeetleHalfReproductionLandscape = {tole_Foobar} |
the list of toles that the beetles are allowed to reproduce upon, but that yield half of normal fertility (bembidion) More... | |
static int | m_DipsersalDayDegrees = 8 |
static int | m_DDepRange = 3 |
The depth of the surrounding cells for density dependence calculations in adults. More... | |
static int | m_MaxShortRangeAttempts = 1 |
The number of tries allowed to find a short range legal move. More... | |
static int | m_TodaysTempCategory = 0 |
Set the soiltemperature category used for calculatiung mortality steps. More... | |
![]() | |
static Landscape * | m_OurLandscape = nullptr |
A pointer to the landscape object shared with all TAnimal objects. More... | |
static int | m_SimulationWidth = 0 |
A static member for the simulation width because it is often used by descendent classes. More... | |
static int | m_SimulationHeight = 0 |
A static member for the simulation height because it is often used by descendent classes. More... | |
static double | m_TemperatureToday = 0.0 |
A holder for the temperature today shared with all TAnimal objects. More... | |
static int | m_DayInYear = 0 |
A holder for the day in year shared with all TAnimal objects. More... | |
The class describing the Bembidion Egg_List objects. In general case this class should have only a constructor.
Bembidion_Egg_List::Bembidion_Egg_List | ( | int | a_today, |
Bembidion_Population_Manager * | a_bpm_ptr, | ||
Landscape * | a_l_ptr | ||
) |
Egg_List class constructor.
The egg list is an optimisation to reduce memory and time to run it means that there are only 365 of them possible and that each on contains all the eggs laid on that day. The only real problem is that there is no longer a link from parent to offspring - so this version cannot be used with genetics without adding the genes to the APoint struct.