Class CataclysmicDemographic

All Implemented Interfaces:
DemographicFunction

public class CataclysmicDemographic extends ExponentialGrowth
This class models an exponentially growing (or shrinking) population (Parameters: N0=present-day population size; r=growth rate). This model is nested with the constant-population size model (r=0).
Version:
$Id: CataclysmicDemographic.java 586 2006-12-15 15:49:15Z twobeers $
Author:
Alexei Drummond, Andrew Rambaut
  • Constructor Details

    • CataclysmicDemographic

      public CataclysmicDemographic()
      Construct demographic model with default settings
    • CataclysmicDemographic

      public CataclysmicDemographic(double N0, double r, double d, double t)
      Construct demographic model with given settings
      Parameters:
      N0 - present-day population size
      r - growth rate
  • Method Details

    • getDeclineRate

      public final double getDeclineRate()
      returns the positive-valued decline rate
    • setDeclineRate

      public void setDeclineRate(double d)
      sets the decline rate.
    • getCataclysmTime

      public final double getCataclysmTime()
    • setCataclysmTime

      public final void setCataclysmTime(double t)
    • setSpikeFactor

      public final void setSpikeFactor(double f)
      An alternative parameterization of this model. This function sets the decline rate using N0 & t which must already have been set.
    • getDemographic

      public double getDemographic(double t)
      Description copied from interface: DemographicFunction
      Gets the value of the demographic function N(t) at time t.
      Specified by:
      getDemographic in interface DemographicFunction
      Overrides:
      getDemographic in class ExponentialGrowth
    • getIntensity

      public double getIntensity(double t)
      Description copied from interface: DemographicFunction
      Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).
      Specified by:
      getIntensity in interface DemographicFunction
      Overrides:
      getIntensity in class ExponentialGrowth
    • getInverseIntensity

      public double getInverseIntensity(double x)
      Description copied from interface: DemographicFunction
      Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).
      Specified by:
      getInverseIntensity in interface DemographicFunction
      Overrides:
      getInverseIntensity in class ExponentialGrowth
    • hasIntegral

      public boolean hasIntegral()
      Description copied from interface: DemographicFunction
      returns whether an analytical expression for the integral is implemented
      Specified by:
      hasIntegral in interface DemographicFunction
      Overrides:
      hasIntegral in class ConstantPopulation
      Returns:
      a boolean