private Complex CalculateU1And5Special(CalcPsi calcPsi) { var c = _container; var annFactor = 1 / (c.Eta[c.CorrBackgroundRc] * c.Eta[c.CorrBackgroundTr]); return(GetAnn() * annFactor * CalculateSpecial(1, 1, calcPsi)); }
private Complex[] CalculateU2Special(CalcPsi calcPsi) { var result = new Complex[_currentLength]; var ann = GetAnn(); var spec = CalculateSpecial(1, -1, calcPsi); for (int i = 0; i < _currentLength; i++) { result[i] = ann[i] * spec[i]; } return(result); }
private Complex[] CalculateU4Special(CalcPsi calcPsi) { var c = _container; var result = new Complex[_currentLength]; var ann = GetAnn(); var spec = CalculateSpecial(-1, -1, calcPsi); for (int i = 0; i < _currentLength; i++) { var annFactor = 1 / (c.Eta[c.CorrBackgroundRc, i]); result[i] = ann[i] * annFactor * spec[i];; } return(result); }
private Complex CalculateSpecial(double pSign, double psiSign, CalcPsi calcPsi) { var c = _container; int r = c.CorrBackgroundRc; int s = c.CorrBackgroundTr; int t = System.Math.Min(r, s); int b = System.Math.Max(r, s); var z = GetZ(c); var pAddendum = CalculateT(z, c.Eta, r, s); var qAddendum = CalculateR(z, c.Eta, r, s); var psi = calcPsi(c.Eta, c.P, c.Q, z, r, s); return(pSign * c.P[t] * pAddendum + c.Q[b] * qAddendum + psiSign * psi); }
private Complex[] CalculateSpecial(double pSign, double psiSign, CalcPsi calcPsi) { var c = _container; var ne = GetNativeEnvelop(c); var pAddendum = _calcT; //UnsafeNativeMethods.CalculateT(ne, c.Eta); var qAddendum = _calcR; // UnsafeNativeMethods.CalculateR(ne, c.Eta); var psi = calcPsi(c.Eta, c.P, c.Q, ne); var result = new Complex[_currentLength]; for (int i = 0; i < _currentLength; i++) { result[i] = pSign * c.P[ne.t, i] * pAddendum[i] + c.Q[ne.b, i] * qAddendum[i] + psiSign * psi[i]; } return(result); }
private Complex CalculateU1And5Special(CalcPsi calcPsi) { var c = _container; int r = c.CorrBackgroundRc; int s = c.CorrBackgroundTr; int t = System.Math.Min(r, s); int b = System.Math.Max(r, s); var ann = GetAnn(); var z1 = (double)c.Tr.StartingDepth; var z2 = (double)c.Tr.GetEndDepth(); var zWork = (double)c.Rc.GetWorkingDepth(); var eta = c.Eta; var pAddendum = CalculateT(zWork, z1, z2, eta, r, s); var qAddendum = CalculateR(zWork, z1, z2, eta, r, s); var psi = calcPsi(eta, c.P, c.Q, zWork, z1, z2, r, s); return((ann / eta[s]) * (c.P[t] * pAddendum + c.Q[b] * qAddendum + psi)); }
private Complex CalculateU4Special(CalcPsi calcPsi) { var annFactor = 1 / (_container.Eta[_container.CorrBackgroundRc]); return(GetAnn() * annFactor * CalculateSpecial(-1, -1, calcPsi)); }
private Complex CalculateU2Special(CalcPsi calcPsi) { var annFactor = 1; return(GetAnn() * annFactor * CalculateSpecial(1, -1, calcPsi)); }