package beast.evolution.tree; import java.io.PrintStream; import beast.core.CalculationNode; import beast.core.Description; import beast.core.Function; import beast.core.Input; import beast.core.Input.Validate; import beast.core.Loggable; @Description("Logger to report height of a tree -- deprecated: use TreeStatLogger instead") @Deprecated public class TreeHeightLogger extends CalculationNode implements Loggable, Function { final public Input<Tree> treeInput = new Input<>("tree", "tree to report height for.", Validate.REQUIRED); @Override public void initAndValidate() { // nothing to do } @Override public void init(PrintStream out) { final Tree tree = treeInput.get(); if (getID() == null || getID().matches("\\s*")) { out.print(tree.getID() + ".height\t"); } else { out.print(getID() + "\t"); } } @Override public void log(int sample, PrintStream out) { final Tree tree = treeInput.get(); out.print(tree.getRoot().getHeight() + "\t"); } @Override public void close(PrintStream out) { // nothing to do } @Override public int getDimension() { return 1; } @Override public double getArrayValue() { return treeInput.get().getRoot().getHeight(); } @Override public double getArrayValue(int dim) { return treeInput.get().getRoot().getHeight(); } }