public static List <MrInterferenceRecord> GenerateMrInterferenceRecords( this IEnumerable <MrRecordSet> recordSets) { List <MrInterferenceRecord> records = new List <MrInterferenceRecord>(); foreach (MrRecordSet recordSet in recordSets) { foreach (MrRecord record in recordSet.RecordList.Where(x => x.NbCells.Count > 0)) { MrInterferenceRecord interferenceRecord = records.FirstOrDefault( x => x.CellId == record.RefCell.CellId && x.SectorId == record.RefCell.SectorId); if (interferenceRecord == null) { interferenceRecord = new MrInterferenceRecord { CellId = record.RefCell.CellId, SectorId = record.RefCell.SectorId }; records.Add(interferenceRecord); } interferenceRecord.Import(record, neiCell => true); } } return(records); }
public static List<MrInterferenceRecord> GenerateMrInterferenceRecords( this IEnumerable<MrRecordSet> recordSets) { List<MrInterferenceRecord> records = new List<MrInterferenceRecord>(); foreach (MrRecordSet recordSet in recordSets) { foreach (MrRecord record in recordSet.RecordList.Where(x => x.NbCells.Count > 0)) { MrInterferenceRecord interferenceRecord = records.FirstOrDefault( x => x.CellId == record.RefCell.CellId && x.SectorId == record.RefCell.SectorId); if (interferenceRecord == null) { interferenceRecord = new MrInterferenceRecord { CellId = record.RefCell.CellId, SectorId = record.RefCell.SectorId }; records.Add(interferenceRecord); } interferenceRecord.Import(record, neiCell => true); } } return records; }
public void Import(MrInterferenceRecord record, int i) { InterferenceVictim victim = Victims.FirstOrDefault(x => x.CellId == record.CellId && x.SectorId == record.SectorId); if (victim == null) { victim = new InterferenceVictim(record); Victims.Add(victim); } victim.MeasuredTimes += record.MeasuredTimes; victim.InterferenceTimes += record.Interferences[i].InterferenceTimes; }