private Complex CalcUGeneral(CalcGSpecial calcRcAndTrMatch, CalcGSpecial calcRcBelowTr, CalcGSpecial calcRcAboveTr) { var c = _container; var zWork = c.Rc.GetWorkingDepth(); var z1 = c.Tr.StartingDepth; var z2 = c.Tr.GetEndDepth(); if (zWork > z1 && zWork < z2) { return(calcRcAndTrMatch()); } if (zWork >= z2) { return(calcRcBelowTr()); } if (zWork <= z1) { return(calcRcAboveTr()); } throw new NotImplementedException(); }
private Complex[] CalcUGeneral(CalcGSpecial rcAndTrMatch, CalcGSpecial rcBelowTr, CalcGSpecial rcAboveTr) { _currentLength = _container.Eta.GetLength(1); var zWork = _container.Rc.GetWorkingDepth(); var z1 = _container.Tr.StartingDepth; var z2 = _container.Tr.GetEndDepth(); if (zWork > z1 && zWork < z2) { return(rcAndTrMatch()); } if (zWork >= z2) { return(rcBelowTr()); } if (zWork <= z1) { return(rcAboveTr()); } throw new NotImplementedException(); }