package hep.aida.ext; /** * IVariableSettings contains the settings for a give variable. * * @author Tony Johnson, Victor Serbo, Max Turri * */ public interface IVariableSettings { /** * Get the name of the variable to which settings apply. * @return The name. * */ public String name(); /** * The step size for this variable. * @return the step size. * */ public double stepSize(); /** * Get the upper bound. * @return The upper bound. * */ public double upperBound(); /** * Get the lower bound. * @return The lower bound. * */ public double lowerBound(); /** * Check if a variable is bounded. A variable is bounded if * either the upper bound or the lower bound are not infinity. * @return <code>true</code> if the variable is bounded. * */ public boolean isBound(); /** * Check if a variable is fixed. * @return <code>true</code> if the variable is fixed. * */ public boolean isFixed(); /** * Set the step size for this variable. * @param step The step size. * @throws IllegalArgumentException if the step is not positive. * */ public void setStepSize(double step) throws IllegalArgumentException; /** * Set the bounds for the variable. * @param lowerBound The lower bound. * @param upperBound The upper bound. * @throws IllegalArgumentException if the lowerBound is not lower than the upperBound. * */ public void setBounds(double lowerBound, double upperBound) throws IllegalArgumentException; /** * Reset the bounds. * */ public void removeBounds(); /** * Set the fixed/unfixed status of a variable. * @param isFixed The fixed status of a variable. * */ public void setFixed(boolean isFixed); /** * Reset the IVariableSetting ot its defaults. * */ public void reset(); /** * Set the current value of this variable. * @param value The current value. * */ public void setValue(double value); /** * The current value for this variable. * @return The current value. * */ public double value(); }