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;
}

 

Ads help maintain this website.