Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }