public GlycanStructure(Glycan argGlycan, float argY1) { _tree = new GlycanTreeNode(argGlycan.GlycanType, _nextID); _nextID++; _y1 = new MSPoint(argY1, 0.0f); _IUPAC = _tree.GetIUPACString(); }
public GlycanStructure(Glycan argGlycan, MSPoint argPeak) { _tree = new GlycanTreeNode(argGlycan.GlycanType, _nextID); _nextID++; _y1 = argPeak; _IUPAC = _tree.GetIUPACString(); }
private void RenderDensityField(PaintEventArgs e) { MSPoint point = new MSPoint(0.0f, 0.0f); const float maxDensity = 10.0f; int xBound = e.ClipRectangle.X + e.ClipRectangle.Width; int yBound = e.ClipRectangle.Y + e.ClipRectangle.Height; for (int x = e.ClipRectangle.X; x < xBound; ++x) { for (int y = e.ClipRectangle.Y; y < yBound; ++y) { point.X = x; point.Y = y; float density = particleField.DensityAtLocation(point); int alpha = (int)(128.0f + (density / maxDensity) * 127.0f); Color renderColour = Color.FromArgb(alpha, Color.Red); densityFieldBitMap.SetPixel(x, y, renderColour); } } e.Graphics.DrawImageUnscaled(densityFieldBitMap, 0, 0); }
public int EnsurePatternNum(Huawei.UNet.NE.Interface.IACell calAntennaParam, MSPoint[] UserPoints) { return 0; }
public float CalUsersSideAngleGain(Huawei.UNet.NE.Interface.IACell calAntennaParam, MSPoint CurMsPoint, MSPoint AccMsPoint, int PatternNum) { return 0; }
public float CalMainAngleGain(Huawei.UNet.NE.Interface.IACell calAntennaParam, MSPoint MsPoint) { return 0; }
public float CalSideAngleGain(IACell calAntennaParam, MSPoint CurMsPoint, MSPoint AccMsPoint) { return 10f; }
public float CalBCHGain(IACell calAntennaParam, MSPoint MsPoint) { return 10f; }
public float CalMainAngleGain(IACell calAntennaParam, MSPoint MsPoint) { return 12f; }
public MSParticle(MSPoint point, float _radius) { Position = point; Radius = _radius; }
public float CalSideAngleGain(IACell calAntennaParam, MSPoint CurMsPoint, MSPoint AccMsPoint) { throw new NotImplementedException(); }
/// <summary> /// 计算下行链路的EbNo /// </summary> /// <param name="ModelList">包含每个小区的链路信息列表</param> /// <param name="point">当前点</param> private void CalcDlLinkEbNo(List<RxPowerAndLinkLossModel> ModelList, GeoXYPoint point) { GetServiceCell(ModelList); m_MsPoint = GetUserPoint(point); Dictionary<IACell, double> m_ServiceLinkRxPowerDic = GetRxPower(ModelList); TDSCDMACarrier tdCell = m_BestCell as TDSCDMACarrier; double totalIntef = UnitTrans.todB(CalcDlIo(m_ServiceLinkRxPowerDic)); double noisePower = CalcNoisePower(tdCell) ; double Io = UnitTrans.AdddBm(totalIntef, noisePower); m_LinkEbNo = (float)m_LinkRxPower - (float)Io + m_DlPG + m_DivGain; }
/// <summary> /// 计算上行业务信道的EbNo /// </summary> /// <param name="ModelList">包含每个小区的链路信息列表</param> /// <param name="point">当前点</param> /// <param name="terminal">终端信息</param> private void CalcUlLinkEbNo(List<RxPowerAndLinkLossModel> ModelList, GeoXYPoint point, Terminal terminal) { GetServiceCell(ModelList); m_MsPoint = GetUserPoint(point); TDTerminal tdTerminal = (TDTerminal)terminal.GetNetWorkTerminal(NetWorkType.TDSCDMA); m_TxPower = tdTerminal.MaxTxPower; foreach (RxPowerAndLinkLossModel rpl in ModelList) { if (m_BestCell.ID == rpl.Cell.ID) { float gain = m_SmartAntGain.CalMainAngleGain(rpl.Cell, m_MsPoint); m_LinkRxPower = m_TxPower - rpl.UpLinkLoss + gain; } } double Io = CalcUlIo(m_BestCell); m_LinkEbNo = (float)m_LinkRxPower - (float)Io + m_UlPG + m_DivGain; }
/// <summary> /// 获得模拟用户的位置 /// </summary> /// <param name="xyPoint">XY坐标</param> /// <returns></returns> private MSPoint GetUserPoint(GeoXYPoint xyPoint) { MSPoint result = new MSPoint(); result.PointX = xyPoint.X; result.PointY = xyPoint.Y; result.MsHeight = 1.5f; return result; }