fix: 修复底部significance不变的问题

This commit is contained in:
Xu Zhimeng 2023-10-26 14:45:59 +08:00
parent fc7c62b504
commit df457a3e4f

View File

@ -198,6 +198,7 @@ export default {
all: null,
baseLineCP: [],
},
peakList: [], // Peak
nuclideLibraryList: [], // channel
peakInfomationTooltip: {
@ -356,7 +357,11 @@ export default {
}
const nextAxis = markLineXAxis == -1 ? 1 : markLineXAxis + 1
markLineData.xAxis = nextAxis
const { channel: nextChannel, energy: nextEnergy, counts: nextCounts } = this.getEnergyAndCountsByXAxis(nextAxis)
const {
channel: nextChannel,
energy: nextEnergy,
counts: nextCounts,
} = this.getEnergyAndCountsByXAxis(nextAxis)
this.setChartBottomTitle(nextChannel, nextEnergy, nextCounts)
this.getSelPosNuclide(nextChannel)
@ -545,6 +550,7 @@ export default {
shapeChannelData,
shapeEnergyData,
peak,
} = result
if (flag && (flag == 'dab' || flag == 'file')) {
this.bAnalyed = result.bAnalyed
@ -556,6 +562,10 @@ export default {
this.detailedInfomation = DetailedInformation
this.qcFlags = QCFlag
if(peak) {
this.peakList = peak
}
const channelPeakGroup = this.getLineData(allData, 'Peak', 'channel', true)
const energyPeakGroup = this.getLineData(allData, 'Peak', 'energy', true)
@ -867,9 +877,48 @@ export default {
//
setChartBottomTitle(channel, energy, counts) {
this.option.title.text = `{a|Channel:${channel}} {a|Energy:${
energy || 0
}} {a|Counts:${counts || 0}} {a|Detectability:0}`
const { index, find } = this.findNearPeak(channel)
this.option.title.text = `{a|Channel:${channel}} {a|Energy:${energy || '0.00'}} {a|Counts:${
counts || '0.0'
}} {a|Significance:${find ? this.peakList[index].significance.toFixed(2) : '0.00'}}`
},
// (C++)
findNearPeak(channel) {
let t_bFind = false,
i = 0,
peakNum = this.peakList.length
for (; i < peakNum; ++i) {
const peak = this.peakList[i]
if (channel >= peak.left && channel <= peak.right) {
// channel
if (peak.multiIndex > 0 && channel > peak.peakCentroid) {
// channel
let j = i
let temp = channel - peak.peakCentroid
while (++j < peakNum && this.peakList[j].multiIndex == peak.multiIndex) {
if (Math.abs(this.peakList[j].peakCentroid - channel) < temp) {
// channel
temp = Math.abs(this.peakList[j].peakCentroid - channel)
i = j
}
}
}
// channel (i)
t_bFind = true
break
} else if (peak.left > channel) {
// channel
if (i > 0 && channel - this.peakList[i - 1].peakCentroid < peak.peakCentroid - channel) i -= 1
break
}
}
if (i >= peakNum) i -= 1
return {
index: i,
find: t_bFind,
}
},
// xAixschannelenergycounts