# Class CoalescentIntervalGenerator

java.lang.Object
jebl.evolution.treesimulation.CoalescentIntervalGenerator

All Implemented Interfaces:
  `IntervalGenerator`

public class CoalescentIntervalGenerator extends Object implements IntervalGenerator
This is a class that draws coalescent intervals under the given demographic function. If the demographic function class has an analytical function for the integral of 1/N(t) then this is used otherwise a numerical integrator is used. To generate a tree using this class, see the TreeSimulator class in jebl.evolution.trees. Much of this class was derived from C++ code provided by Oliver Pybus.

Version:
  $Id: CoalescentIntervalGenerator.java 1053 2010-05-10 13:00:31Z rambaut $
Author:
  Andrew Rambaut, Oliver Pybus

## Constructor Summary

Constructors
Constructor
Description
`CoalescentIntervalGenerator(DemographicFunction demographicFunction)`

## Method Summary

Modifier and Type
Method
Description
`double`
`getInterval(double criticalValue, int lineageCount, double currentHeight)`
Calculates the waiting time to the next coalescent for a given critical value (an intensity).

### Methods inherited from class Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### CoalescentIntervalGenerator

public CoalescentIntervalGenerator(DemographicFunction demographicFunction)

## Method Details

### getInterval

public double getInterval(double criticalValue, int lineageCount, double currentHeight)
Calculates the waiting time to the next coalescent for a given critical value (an intensity).

Specified by:
  `getInterval` in interface `IntervalGenerator`
Parameters:
  `lineageCount` - the number of lineages present
  `currentHeight` - the starting height
Returns:
  the interval time