package org.freehep.math.minuit; /** * * @version $Id: MinosError.java 8584 2006-08-10 23:06:37Z duns $ */ public class MinosError { MinosError() { theUpper = new MnCross(); theLower = new MnCross(); } MinosError(int par, double min, MnCross low, MnCross up) { theParameter = par; theMinValue = min; theUpper = up; theLower = low; } public Point range() { return new Point(lower(), upper()); } public double lower() { return -1.*lowerState().error(parameter())*(1. + theLower.value()); } public double upper() { return upperState().error(parameter())*(1. + theUpper.value()); } public int parameter() { return theParameter; } public MnUserParameterState lowerState() { return theLower.state(); } public MnUserParameterState upperState() { return theUpper.state(); } public boolean isValid() { return theLower.isValid() && theUpper.isValid(); } public boolean lowerValid() { return theLower.isValid(); } public boolean upperValid() { return theUpper.isValid(); } public boolean atLowerLimit() { return theLower.atLimit(); } public boolean atUpperLimit() { return theUpper.atLimit(); } public boolean atLowerMaxFcn() { return theLower.atMaxFcn(); } public boolean atUpperMaxFcn() { return theUpper.atMaxFcn(); } public boolean lowerNewMin() { return theLower.newMinimum(); } public boolean upperNewMin() { return theUpper.newMinimum(); } public int nfcn() { return theUpper.nfcn() + theLower.nfcn(); } public double min() { return theMinValue; } public String toString() { return MnPrint.toString(this); } private int theParameter; private double theMinValue; private MnCross theUpper; private MnCross theLower; }