libpspm
individual_base.h
Go to the documentation of this file.
1 #ifndef PSPM_PSPM_INDIVIDUAL_BASE_H_
2 #define PSPM_PSPM_INDIVIDUAL_BASE_H_
3 
4 #include <iostream>
5 #include <vector>
6 #include <string>
7 
9  public:
10  std::vector<std::string> varnames;
11 
12  // essential functions which must be defined by user
13  virtual double init_density(double x, void * _env, double bf) = 0;
14  virtual double growthRate(double x, double t, void * _env) = 0;
15  virtual double mortalityRate(double x, double t, void * _env) = 0;
16  virtual double birthRate(double x, double t, void * _env) = 0;
17 
18  virtual ~IndividualBase();
19 
20  virtual void set_size(double _x);
21  virtual void preCompute(double x, double t, void * _env);
22  virtual double establishmentProbability(double t, void * _env);
23 
24  // Functions related to additional state variables
25  virtual void init_state(double t, void * _env);
26  virtual std::vector<double>::iterator set_state(std::vector<double>::iterator &it);
27  virtual std::vector<double>::iterator get_state(std::vector<double>::iterator &it);
28  virtual std::vector<double>::iterator get_rates(std::vector<double>::iterator &it);
29 
30  // printing
31  virtual void print(std::ostream &out = std::cout);
32 };
33 
34 
35 #endif
36 
37 
virtual double establishmentProbability(double t, void *_env)
std::vector< std::string > varnames
virtual std::vector< double >::iterator get_state(std::vector< double >::iterator &it)
virtual void init_state(double t, void *_env)
virtual void set_size(double _x)
virtual ~IndividualBase()
virtual std::vector< double >::iterator get_rates(std::vector< double >::iterator &it)
virtual double birthRate(double x, double t, void *_env)=0
virtual void print(std::ostream &out=std::cout)
virtual double growthRate(double x, double t, void *_env)=0
virtual std::vector< double >::iterator set_state(std::vector< double >::iterator &it)
virtual double mortalityRate(double x, double t, void *_env)=0
virtual double init_density(double x, void *_env, double bf)=0
virtual void preCompute(double x, double t, void *_env)