jebl.evolution.coalescent
Interface DemographicFunction

All Known Implementing Classes:
CataclysmicDemographic, ConstantPopulation, ConstExponential, ConstLogistic, Expansion, ExponentialGrowth, LogisticGrowth

public interface DemographicFunction

This interface provides methods that describe a demographic function. Parts of this class were derived from C++ code provided by Oliver Pybus.

Author:
Andrew Rambaut, Alexei Drummond, Korbinian Strimmer

Nested Class Summary
static class DemographicFunction.Utils
           
 
Method Summary
 double getArgument(int n)
          Returns the value of the nth argument of this function.
 int getArgumentCount()
          Returns the number of arguments for this function.
 String getArgumentName(int n)
          Returns the name of the nth argument of this function.
 double getDemographic(double t)
          Gets the value of the demographic function N(t) at time t.
 double getIntegral(double start, double finish)
          Calculates the integral 1/N(x) dx between start and finish
 double getIntensity(double t)
          Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).
 double getInverseIntensity(double x)
          Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).
 double getLowerBound(int n)
          Returns the lower bound of the nth argument of this function.
 double getUpperBound(int n)
          Returns the upper bound of the nth argument of this function.
 boolean hasIntegral()
          returns whether an analytical expression for the integral is implemented
 void setArgument(int n, double value)
          Sets the value of the nth argument of this function.
 

Method Detail

getDemographic

double getDemographic(double t)
Gets the value of the demographic function N(t) at time t.


getIntensity

double getIntensity(double t)
Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).


getInverseIntensity

double getInverseIntensity(double x)
Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).


hasIntegral

boolean hasIntegral()
returns whether an analytical expression for the integral is implemented

Returns:
a boolean

getIntegral

double getIntegral(double start,
                   double finish)
Calculates the integral 1/N(x) dx between start and finish


getArgumentCount

int getArgumentCount()
Returns the number of arguments for this function.


getArgumentName

String getArgumentName(int n)
Returns the name of the nth argument of this function.


getArgument

double getArgument(int n)
Returns the value of the nth argument of this function.


setArgument

void setArgument(int n,
                 double value)
Sets the value of the nth argument of this function.


getLowerBound

double getLowerBound(int n)
Returns the lower bound of the nth argument of this function.


getUpperBound

double getUpperBound(int n)
Returns the upper bound of the nth argument of this function.