package dr.app.beauti.options; import dr.app.beauti.types.FixRateType; import dr.evolution.datatype.DataType; import java.io.Serializable; /** * @author Alexei Drummond * @author Walter Xie */ public class ClockModelGroup implements Serializable { private String name; private boolean fixMean = false; private double fixMeanRate = 1.0; private FixRateType rateTypeOption = FixRateType.RELATIVE_TO; // public ClockModelGroup() { } public ClockModelGroup(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isFixMean() { return fixMean; } public void setFixMean(boolean fixMean) { this.fixMean = fixMean; } public FixRateType getRateTypeOption() { return rateTypeOption; } public void setRateTypeOption(FixRateType rateTypeOption) { this.rateTypeOption = rateTypeOption; setFixMean(rateTypeOption == FixRateType.FIX_MEAN); } public double getFixMeanRate() { return fixMeanRate; } public void setFixMeanRate(double fixMeanRate, BeautiOptions options) { this.fixMeanRate = fixMeanRate; for (PartitionClockModel model : options.getPartitionClockModels(this)) { model.setRate(fixMeanRate, false); } } public boolean contain(DataType dataType, BeautiOptions options) { for (AbstractPartitionData pd : options.getDataPartitions(this)) { if (pd.getDataType().getType() == dataType.getType()) { return true; } } return false; } }