use of dr.evomodel.coalescent.PopulationSizeModel in project beast-mcmc by beast-dev.
the class PiecewisePopulationSizeModelParser method parseXMLObject.
public Object parseXMLObject(XMLObject xo) throws XMLParseException {
Units.Type units = XMLUnits.Utils.getUnitsAttr(xo);
Parameter epochDurations = (Parameter) xo.getElementFirstChild(EPOCH_DURATIONS);
Parameter populationSize = (Parameter) xo.getElementFirstChild(LOG_POPULATION_SIZE);
XMLObject cxo = xo.getChild(EPOCHS);
List<PopulationSizeModel> epochs = cxo.getAllChildren(PopulationSizeModel.class);
if (epochDurations.getDimension() != epochs.size() - 1) {
throw new XMLParseException("The dimension of the epoch duration parameter should be one fewer than the number of epochs.");
}
return new PiecewisePopulationSizeModel(PIECEWISE_POPULATION_SIZE, populationSize, epochs, epochDurations, units);
}
Aggregations