2024-06-04 15:25:02 +08:00
|
|
|
|
#ifndef RADIONUCLIDEMESSAGE_H
|
|
|
|
|
#define RADIONUCLIDEMESSAGE_H
|
|
|
|
|
|
|
|
|
|
#include "AbstractSpectrumDataMessage.h"
|
|
|
|
|
#include "DataManager_Define.h"
|
|
|
|
|
#include <QVariant>
|
|
|
|
|
class QTextStream;
|
|
|
|
|
|
|
|
|
|
class RadionuclideMessage : public AbstractSpectrumDataMessage
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
explicit RadionuclideMessage();
|
|
|
|
|
~RadionuclideMessage();
|
|
|
|
|
|
|
|
|
|
bool AnalysePHD_Msg(QString &msg_string);
|
|
|
|
|
bool AnalysePHD_File(QString phd_name);
|
|
|
|
|
RadionuclideData::AnalyseDataType GetAnalyseDataType();
|
|
|
|
|
const QVariant GetBlockData(QString& block_name);
|
|
|
|
|
virtual bool IsValid();
|
|
|
|
|
virtual void ClearData();
|
|
|
|
|
|
|
|
|
|
static QVector<long> GetHistogramProjectedDataValue(
|
|
|
|
|
RadionuclideData::HistogramBlock &histogram, Qt::Orientation orientation);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
void InitBlockFlagInfo();
|
|
|
|
|
bool AnalyseMessgeBody(QTextStream& content);
|
|
|
|
|
bool Analyse_Header_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Comment_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Collection_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Acquisition_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Processing_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Sample_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_g_Energy_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_b_Energy_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_g_Resolution_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_b_Resolution_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_g_Efficiency_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_ROI_Limits_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_bg_Efficiency_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_TotalEff_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Ratios_Block(QTextStream& textStream, QString& nextBlock);
|
|
|
|
|
bool Analyse_g_Spectrum_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_b_Spectrum_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Histogram_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Calibration_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Certificate_Block(QTextStream& content, QString& nextBlock);
|
2024-08-16 17:56:57 +08:00
|
|
|
|
bool Analyse_b_self_Attenuation_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_b_Efficiency_Block(QTextStream& content, QString& nextBlock);
|
|
|
|
|
bool Analyse_Gps_Block(QTextStream &content, QString &nextBlock);
|
2024-06-04 15:25:02 +08:00
|
|
|
|
bool Verity_SampleReferenceId(QString srid);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
bool bIsValid;
|
|
|
|
|
QStringList block_flag;
|
|
|
|
|
QVariantMap radionuclide_msg_data; // 因解析的数据的结构不同,请其统一存储至QVariantMap容器中
|
|
|
|
|
RadionuclideData::AnalyseDataType analyse_data_type;
|
2024-08-16 17:56:57 +08:00
|
|
|
|
QString m_system_type = "";
|
2024-06-04 15:25:02 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // RADIONUCLIDEMESSAGE_H
|