private InnerResult CalculateForE(AuxContainerFast c, ICalculatorU u) { var e = new ResultE(); var zeta = _model.Section1D.GetAllSection1DZeta(); c.Eta = CalculateEta(_planItem.Lambdas); c.Exp = CalculateExp(c.Eta); c.P = CalculateP1(c.Eta, c.Exp); c.Q = CalculateQ1(c.Eta, c.Exp); c.A = CalculateA1(c); u.PreCalculate(); e.U1 = _planItem.CalculateI1 ? u.CalculateU1() : new Complex[0]; c.P = CalculatePSigma(zeta, c.Eta, c.Exp); c.Q = CalculateQSigma(c.Eta, c.Exp); c.A = CalculateASigma(c); e.U2 = _planItem.CalculateI2 ? u.CalculateU2() : new Complex[0]; e.U3 = _planItem.CalculateI3 ? u.CalculateU3() : new Complex[0]; e.U4 = _planItem.CalculateI4 ? u.CalculateU4() : new Complex[0]; e.U5 = _planItem.CalculateI5 ? u.CalculateU5(_planItem.Lambdas) : new Complex[0]; var result = ScalarMathUtils.NormalizeAndPerformHankelFast(e, _planItem, _model, c.CorrBackgroundRc); return(result); }
private InnerResult CalculateForH(AuxContainerFast c, ICalculatorU u) { var h = new ResultH(); var zeta = _model.Section1D.GetAllSection1DZeta(); c.Eta = CalculateEta(_planItem.Lambdas); c.Exp = CalculateExp(c.Eta); c.P = CalculateP1(c.Eta, c.Exp); c.Q = CalculateQ1(c.Eta, c.Exp); c.A = CalculateA1(c); h.U11 = _planItem.CalculateI4 ? u.CalculateU1() : new Complex[0]; h.U31 = _planItem.CalculateI1 ? u.CalculateU3() : new Complex[0]; c.P = CalculatePSigma(zeta, c.Eta, c.Exp); c.Q = CalculateQSigma(c.Eta, c.Exp); c.A = CalculateASigma(c); h.U1Sigma = _planItem.CalculateI3 ? u.CalculateU1() : new Complex[0]; h.U4Sigma = _planItem.CalculateI2 ? u.CalculateU4() : new Complex[0]; var result = ScalarMathUtils.NormalizeAndPerformHankelFast(h, _planItem); return(result); }