diff --git a/src/MeasureAnalysisTreeView.cpp b/src/MeasureAnalysisTreeView.cpp index 48f4dd0..47bd826 100644 --- a/src/MeasureAnalysisTreeView.cpp +++ b/src/MeasureAnalysisTreeView.cpp @@ -215,6 +215,15 @@ void MeasureAnalysisTreeView::onNodeDoubleClicked(const QModelIndex& index) } } } break; + case AnalysisType::CoincidenceParticleEnergySpectrum3DView: { + MeasureAnalysisProjectModel* project_model = _model->GetProjectModel(project_name); + if (project_model) { + auto file_name = project_model->GetAllChannelParticleDataFilename(); + if ( !file_name.isEmpty() ) { + data_files_set[QStringLiteral(u"符合粒子能量3D视图")] = file_name; + } + } + } break; default: break; } diff --git a/src/MeasureAnalysisView.cpp b/src/MeasureAnalysisView.cpp index 6eafe7d..6811010 100644 --- a/src/MeasureAnalysisView.cpp +++ b/src/MeasureAnalysisView.cpp @@ -6,6 +6,7 @@ #include "CountRateAnalysisView.h" #include "EnergyCountPlotView.h" #include "ParticleTimePoorView.h" +#include "ConformityAnalysis.h" MeasureAnalysisView *MeasureAnalysisView::NewAnalyzeView(AnalysisType view_type) { MeasureAnalysisView* new_view = nullptr; @@ -63,8 +64,8 @@ MeasureAnalysisView *MeasureAnalysisView::NewAnalyzeView(AnalysisType view_type) // new_view->setDeleteOnClose(false); } break; case AnalysisType::CoincidenceParticleEnergySpectrum3DView: { - // new_view = new MeasureAnalysisDataTableView; - // new_view->setDeleteOnClose(false); + new_view = new ConformityAnalysis; + new_view->setDeleteOnClose(false); } break; case AnalysisType::CountingRateView: { new_view = new CountRateAnalysisView; diff --git a/src/ParticleTimePoorView/ParticleTimePoorView.cpp b/src/ParticleTimePoorView/ParticleTimePoorView.cpp index b3ada20..7e39ef3 100644 --- a/src/ParticleTimePoorView/ParticleTimePoorView.cpp +++ b/src/ParticleTimePoorView/ParticleTimePoorView.cpp @@ -15,6 +15,7 @@ #include "CustomQwtPlot.h" #include #include +#include #include ParticleTimePoorView::ParticleTimePoorView(QWidget *parent) : MeasureAnalysisView(parent), @@ -36,7 +37,6 @@ void ParticleTimePoorView::InitViewWorkspace(const QString &project_name) { } -#include void ParticleTimePoorView::SetAnalyzeDataFilename(const QMap &data_files_set) { if (data_files_set.isEmpty()) { @@ -55,19 +55,23 @@ void ParticleTimePoorView::SetAnalyzeDataFilename(const QMap QVector timestamps; while (in.read_row(board, channel, energy, time_count)) { - timestamps.append(static_cast(time_count)); + timestamps.append(static_cast(time_count / 1e9)); } - if (timestamps.size() < 2) { qDebug() << "数据不足,无法计算时间差"; return; } // 1. 统计时间差分布 - const int nNs = 50; // 分组宽度 + const int nNs = 1; // 分组宽度 QMap mapVal; for (int i = 0; i < timestamps.size() - 1; ++i) { uint64_t diff = timestamps[i+1] - timestamps[i]; + if(diff >= 1 ) + { + qDebug()<