public override void update()
        {
            List <double> times = new List <double>(), blackVols = new List <double>();

            for (int i = 0; i < xBegin_.Count; ++i)
            {
                times.Add(xBegin_[i]);
                blackVols.Add(yBegin_[i]);
            }

            abcdCalibrator_ = new AbcdCalibration(times, blackVols,
                                                  abcdCoeffHolder_.a_.Value,
                                                  abcdCoeffHolder_.b_.Value,
                                                  abcdCoeffHolder_.c_.Value,
                                                  abcdCoeffHolder_.d_.Value,
                                                  abcdCoeffHolder_.aIsFixed_,
                                                  abcdCoeffHolder_.bIsFixed_,
                                                  abcdCoeffHolder_.cIsFixed_,
                                                  abcdCoeffHolder_.dIsFixed_,
                                                  vegaWeighted_,
                                                  endCriteria_,
                                                  optMethod_);

            abcdCalibrator_.compute();
            abcdCoeffHolder_.a_               = abcdCalibrator_.a();
            abcdCoeffHolder_.b_               = abcdCalibrator_.b();
            abcdCoeffHolder_.c_               = abcdCalibrator_.c();
            abcdCoeffHolder_.d_               = abcdCalibrator_.d();
            abcdCoeffHolder_.k_               = abcdCalibrator_.k(times, blackVols);
            abcdCoeffHolder_.error_           = abcdCalibrator_.error();
            abcdCoeffHolder_.maxError_        = abcdCalibrator_.maxError();
            abcdCoeffHolder_.abcdEndCriteria_ = abcdCalibrator_.endCriteria();
        }
 public AbcdError(AbcdCalibration abcd)
 {
     abcd_ = abcd;
 }