符合能谱修改读取全部符合粒子

This commit is contained in:
anxinglong 2026-05-13 11:04:24 +08:00
parent d0be9a8654
commit dfeb9f6ca7
2 changed files with 17 additions and 9 deletions

View File

@ -77,10 +77,16 @@ void ConformToTheEnergySpectrum::InitViewWorkspace(const QString &project_name)
void ConformToTheEnergySpectrum::SetAnalyzeDataFilename(const QMap<QString, QVariant> &data_files_set) void ConformToTheEnergySpectrum::SetAnalyzeDataFilename(const QMap<QString, QVariant> &data_files_set)
{ {
const QString& data_filename = data_files_set.first().toString(); _data_filenames.clear();
if (!data_filename.isEmpty() && QFileInfo(data_filename).exists()) { for (const QVariant& file_value : data_files_set) {
this->_data_filename = data_filename; QString filename = file_value.toString();
this->loadAndProcess(); if (!filename.isEmpty() && QFileInfo(filename).exists()) {
_data_filenames.append(filename);
}
}
if (!_data_filenames.isEmpty()) {
loadAndProcess();
} }
} }
@ -89,11 +95,12 @@ void ConformToTheEnergySpectrum::loadAndProcess()
{ {
_busy_indicator->Start(); _busy_indicator->Start();
auto functionToRun = [this]() { auto functionToRun = [this]() {
if (_data_filename.isEmpty()) if (_data_filenames.isEmpty()) return;
return;
std::vector<SpectrumData> rawData; std::vector<SpectrumData> rawData;
io::CSVReader<5> in(QStrToSysPath(_data_filename));
for (const QString& filename : _data_filenames)
{
io::CSVReader<5> in(QStrToSysPath(filename));
in.read_header(io::ignore_extra_column, in.read_header(io::ignore_extra_column,
QString(QStringLiteral(u"事件ID")).toStdString(), QString(QStringLiteral(u"事件ID")).toStdString(),
QString(QStringLiteral(u"板卡号")).toStdString(), QString(QStringLiteral(u"板卡号")).toStdString(),
@ -120,6 +127,7 @@ void ConformToTheEnergySpectrum::loadAndProcess()
}, Qt::QueuedConnection); }, Qt::QueuedConnection);
return; return;
} }
}
const int STEP = 1; const int STEP = 1;
std::map<int, double> hist; std::map<int, double> hist;

View File

@ -32,7 +32,7 @@ private:
BusyIndicator* _busy_indicator = nullptr; BusyIndicator* _busy_indicator = nullptr;
CustomQwtPlot* _plot = nullptr; CustomQwtPlot* _plot = nullptr;
QwtPlotCurve* _curve = nullptr; QwtPlotCurve* _curve = nullptr;
QString _data_filename; QStringList _data_filenames;
}; };
#endif // CONFORMTOTHEENERGYSPECTRUM_H #endif // CONFORMTOTHEENERGYSPECTRUM_H