867 lines
38 KiB
C++
867 lines
38 KiB
C++
#ifndef DATA_MANAGE_DEFINE_H
|
||
#define DATA_MANAGE_DEFINE_H
|
||
|
||
#include <QtCore/qglobal.h>
|
||
#include <QVector>
|
||
#include <QMetaType>
|
||
#include <QString>
|
||
|
||
#define DATE_FORMAT QLatin1String("yyyy/MM/dd")
|
||
#define TIME_FORMAT QLatin1String("hh:mm:ss.z")
|
||
#define DATATIME_FORMAT QLatin1String("yyyy/MM/dd hh:mm:ss.z")
|
||
#define DATATIME_FORMAT_NOSPACE QLatin1String("yyyy/MM/ddhh:mm:ss.z")
|
||
#define DATATIME_FORMAT_SECONDS QLatin1String("yyyy/MM/ddhh:mm:ss")
|
||
|
||
#define DATATIME_FORMAT_SPACE_SECONDS QLatin1String("yyyy/MM/dd hh:mm:ss")
|
||
|
||
#define ORDER_HEADER QLatin1String("#Header")
|
||
#define ORDER_COMMENT QLatin1String("#Comment")
|
||
#define ORDER_COLLECTION QLatin1String("#Collection")
|
||
#define ORDER_ACQUISITION QLatin1String("#Acquisition")
|
||
#define ORDER_PROCESSING QLatin1String("#Processing")
|
||
#define ORDER_SAMPLE QLatin1String("#Sample")
|
||
#define ORDER_G_ENERGY QLatin1String("#g_Energy")
|
||
#define ORDER_B_ENERGY QLatin1String("#b_Energy")
|
||
#define ORDER_G_RESOLUTION QLatin1String("#g_Resolution")
|
||
#define ORDER_B_RESOLUTION QLatin1String("#b_Resolution")
|
||
#define ORDER_G_EFFICIENCY QLatin1String("#g_Efficiency")
|
||
#define ORDER_ROI_LIMITS QLatin1String("#ROI_Limits")
|
||
#define ORDER_B_GEFFICIENCY QLatin1String("#b-gEfficiency")
|
||
#define ORDER_TOTALEFF QLatin1String("#TotalEff")
|
||
#define ORDER_RATIOS QLatin1String("#Ratios")
|
||
#define ORDER_G_SPECTRUM QLatin1String("#g_Spectrum")
|
||
#define ORDER_B_SPECTRUM QLatin1String("#b_Spectrum")
|
||
#define ORDER_HISTOGRAM QLatin1String("#Histogram")
|
||
#define ORDER_CALIBRATION QLatin1String("#Calibration")
|
||
#define ORDER_CERTIFICATE QLatin1String("#Certificate")
|
||
#define ORDER_STOP QLatin1String("STOP")
|
||
#define ORDER_BEGIN QLatin1String("BEGIN")
|
||
#define DATATYPE_QCPHD QLatin1String("QCPHD")
|
||
#define DATATYPE_DETBKPHD QLatin1String("DETBKPHD")
|
||
#define DATATYPE_SAMPLEPHD QLatin1String("SAMPLEPHD")
|
||
#define DATATYPE_GASBKPHD QLatin1String("GASBKPHD")
|
||
#define DATETYPE_SOH QLatin1String("RMSSOH")
|
||
#define DATETYPE_MET QLatin1String("MET")
|
||
#define DATETYPE_ALERT_FLOW QLatin1String("ALERT_FLOW")
|
||
#define DATETYPE_ALERT_SYSTEM QLatin1String("ALERT_SYSTEM")
|
||
#define DATETYPE_ALERT_TEMP QLatin1String("ALERT_TEMP")
|
||
#define DATETYPE_ALERT_UPS QLatin1String("ALERT_UPS")
|
||
#define SYSTEMTYPE_P QLatin1String("P") //P for particulate;
|
||
#define SYSTEMTYPE_B QLatin1String("B") //B for gaswith 3-D β - γ coincidence detection
|
||
#define SYSTEMTYPE_G QLatin1String("G") //G for all other gas systems (high-resolu-tion γ-spectrometry or 2-D β-γ coinci-dence detection)
|
||
|
||
#define FILE_SAMPLE_NAME_FORMAT QLatin1String("[a-zA-Z]{3}[0-9]{2}_[0-9]{3}-[0-9]{8}_[0-9]{4}(_S.PHD)$")
|
||
#define FILE_ALL_NAME_FORMAT QLatin1String("[a-zA-Z]{3}[0-9]{2}_[0-9]{3}-[0-9]{8}_[0-9]{4}(_G.PHD|_Q.PHD|_S.PHD|_D.PHD)$")
|
||
|
||
|
||
#define DEFAULT_DATA_PATH QLatin1String("DefaultData")
|
||
|
||
#define CFG_FILE_PATH tr("./cfg/")
|
||
#define CFG_FILE_NAME tr("filecfg.ini")
|
||
#define CFG_DELETE_FILE_NAME tr("filedelete.ini")
|
||
|
||
#define GROUP_DELETE_FILE tr("file")
|
||
#define KEY_DELETE_FILE tr("time")
|
||
//#define VALUE_DELETE_FILE tr("")
|
||
|
||
#define GROUP_CFG_FILE tr("FILE_NAME")
|
||
#define KEY_BG_AUTO_PROCESS tr("AUTO_DATA_PROCESS")
|
||
#define VALUE_BG_AUTO_PROCESS_FILE_NAME tr("auto_data_process.ini")
|
||
|
||
#define GROUP_BG_THREAD tr("THREAD")
|
||
#define KEY_GROUP_BG_THREAD_LIMIT tr("NUMBER")
|
||
#define VALUE_GROUP_BG_THREAD_LIMIT tr("2")
|
||
|
||
#define GROUP_BG_AUTO_ACQUIR tr("GET")
|
||
#define KEY_BG_AUTO_FILE_SOURCE_PATH tr("DETECT_FILE_PATH")
|
||
#define VALUE_BG_AUTO_FILE_SOURCE_PATH tr("./datatest/filesource/")
|
||
|
||
//#define GROUP_BG_AUTO_ACQUIR tr("acquire")
|
||
//#define KEY_BG_AUTO_FILE_MAIL_SAVE_PATH tr("FILEMAILSAVEPATH")
|
||
//#define VALUE_BG_AUTO_FILE_MAIL_SAVE_PATH tr("./datatest/mailload/")
|
||
|
||
|
||
//#define KEY_BG_AUTO_ACUIRE_MAILTIMEOUT tr("MAILDETECTTIMEOUT")
|
||
//#define VALUE_BG_AUTO_ACUIRE_MAILTIMEOUT tr("3")
|
||
|
||
#define KEY_BG_AUTO_ACUIRE_FILETIMEOUT tr("DETECT_FILE_INTERVAL_TIME")
|
||
#define VALUE_BG_AUTO_ACUIRE_FILETIMEOUT tr("600")
|
||
|
||
#define GROUP_BG_AUTO_LOG tr("LOG")
|
||
#define KEY_BG_AUTO_LOG_PATH tr("PATH")
|
||
#define VALUE_BG_AUTO_LOG_PATH tr("./datatest/log")
|
||
|
||
#define GROUP_BG_AUTO_DEAL tr("DEAL")
|
||
#define KEY_BG_AUTO_DEAL_TIMEOUT tr("UN_DEAL_SEARCH_FILE_TIMEOUT")
|
||
#define VALUE_BG_AUTO_DEAL_TIMEOUT tr("43200")
|
||
|
||
#define KEY_BG_AUTO_DEAL_ID_TIMEOUT tr("UN_DEAL_SEARCH_ID_TIMEOUT")
|
||
#define VALUE_BG_AUTO_DEAL_ID_TIMEOUT tr("43200")
|
||
|
||
#define KEY_BG_AUTO_DEAL_TIMEDETECT tr("UN_DEAL_FILE_DETECT_TIME")
|
||
#define VALUE_BG_AUTO_DEAL_TIMEDETECT tr("1800")
|
||
|
||
#define KEY_BG_AUTO_STATISTICS_TIME tr("STATISTICS_TIME")
|
||
#define VALUE_BG_AUTO_STATISTICS_TIME tr("24")
|
||
|
||
#define KEY_BG_AUTO_DELETE_FILE_INTERVAL_TIMEE tr("DELETE_FILE_INTERVAL_TIME")
|
||
#define VALUE_BG_AUTO_SDELETE_FILE_INTERVAL_TIME tr("30")
|
||
|
||
#define KEY_BG_AUTO_FILE_SAVE_PATH tr("FILE_SAVE_PATH")
|
||
#define VALUE_BG_AUTO_FILE_SAVE_PATH tr("./datatest/savefile/")
|
||
|
||
#define KEY_BG_AUTO_DETAGAS_DEFAULT_PATH tr("DETA_GAS_DEFAULT_PATH")
|
||
#define VALUE_BG_AUTO_DETAGAS_DEFAULT_PATH tr("./defaultdata/detagas/")
|
||
|
||
#define KEY_BG_AUTO_DEAL_NODEALFILEPATH tr("UN_DEAL_FILE_PATH")
|
||
#define VALUE_BG_AUTO_DEAL_NODEALFILEPATH tr("./datatest/undeal/")
|
||
|
||
#define KEY_DATABASE_FIEL_PATH tr("DATA_BASE")
|
||
#define VALUE_DATABASE_FIEL_PATH tr("data_base.ini")
|
||
|
||
#define GROUP_DATABASE tr("DATA_BASE")
|
||
#define KEY_DATABASE_TYPE tr("TYPE")
|
||
#define VALUE_DATABASE_TYPE tr("MYSQL")
|
||
|
||
#define GROUP_DATABASE_MYSQL tr("MYSQL")
|
||
#define GROUP_DATABASE_ORACLE tr("ORACLE")
|
||
|
||
#define KEY_DATABASE_HOSTNAME tr("HOSTNAME")
|
||
#define VALUE_DATABASE_HOSTNAME tr("192.168.0.101")
|
||
|
||
#define KEY_DATABASE_DATABASENAME tr("DATA_BASE_NAME")
|
||
#define VALUE_DATABASE_DATABASENAME tr("configuration")
|
||
|
||
#define KEY_DATABASE_USERNAME tr("USERNAME")
|
||
#define VALUE_DATABASE_USERNAME tr("root")
|
||
|
||
#define KEY_DATABASE_PASSWORD tr("PASSWORD")
|
||
#define VALUE_DATABASE_PASSWORD tr("123456")
|
||
|
||
#define KEY_DATABASE_PORT tr("PORT")
|
||
#define VALUE_DATABASE_PORT tr("3306")
|
||
|
||
#define VALUE_DATABAS_ORACLE_HOSTNAME tr("192.168.0.119")
|
||
|
||
#define VALUE_DATABASE_ORACLE_DATABASENAME tr("orcl")
|
||
|
||
#define VALUE_DATABASE_ORACLE_USERNAME tr("configuration")
|
||
|
||
#define VALUE_DATABASE_ORACLE_PASSWORD tr("123456")
|
||
|
||
#define VALUE_DATABASE_ORACLE_PORT tr("1521")
|
||
|
||
|
||
#define KEY_EMAIL_FIEL_PATH tr("EMAIL")
|
||
#define VALUE_EMAIL_FIEL_PATH tr("email.ini")
|
||
|
||
#define GROUP_EMAIL_SEND tr("SEND")
|
||
|
||
#define KEY_EMAIL_SEND_USER tr("USER")
|
||
#define VALUE_EMAIL_SEND_USER tr("xuhai_cpp@sina.com")
|
||
|
||
#define KEY_EMAIL_SEND_PASSWD tr("PASSWD")
|
||
#define VALUE_EMAIL_SEND_PASSWD tr("abc123456")
|
||
|
||
#define KEY_EMAIL_SEND_SERVER tr("SERVER")
|
||
#define VALUE_EMAIL_SEND_SERVER tr("smtp.sina.com")
|
||
|
||
#define KEY_EMAIL_SEND_PORT tr("PORT")
|
||
#define VALUE_EMAIL_SEND_PORT tr("25")
|
||
|
||
#define KEY_EMAIL_SEND_CONNECTTYPE tr("CONNECT_TYPE")
|
||
#define VALUE_EMAIL_SEND_CONNECTTYPE tr("0")
|
||
|
||
#define KEY_EMAIL_SEND_RECEIVER tr("RECEIVER")
|
||
#define VALUE_EMAIL_SEND_RECEIVER tr("1327783389@qq.com")
|
||
|
||
#define KEY_EMAIL_SEND_INTERVAL tr("SEND_INTERVAL")
|
||
#define VALUE_EMAIL_SEND_INTERVAL tr("10")
|
||
|
||
//#define GROUP_EMAIL_GET tr("GET")
|
||
|
||
#define KEY_EMAIL_GET_USER tr("USER")
|
||
#define VALUE_EMAIL_GET_USER tr("cnndc.rn")
|
||
|
||
#define KEY_EMAIL_GET_PASSWD tr("PASSWD")
|
||
#define VALUE_EMAIL_GET_PASSWD tr("367220")
|
||
|
||
#define KEY_EMAIL_GET_SERVER tr("SERVER")
|
||
#define VALUE_EMAIL_GET_SERVER tr("192.168.10.59")
|
||
|
||
#define KEY_EMAIL_GET_PORT tr("PORT")
|
||
#define VALUE_EMAIL_GET_PORT tr("143")
|
||
|
||
#define KEY_EMAIL_GET_CONNECTTYPE tr("CONNECT_TYPE")
|
||
#define VALUE_EMAIL_GET_CONNECTTYPE tr("0")
|
||
|
||
#define KEY_EMAIL_GET_FILE_SAVEPATH tr("FILE_SAVE_PATH")
|
||
#define VALUE_EMAIL_GET_FILE_SAVE_PATH tr("./datatest/mailload/")
|
||
|
||
#define KEY_EMAIL_GET_EML_SAVE_PATH tr("EML_SAVE_PATH")
|
||
#define VALUE_EMAIL_GET_EML_SAVE_PATH tr("./datatest/eml/")
|
||
|
||
#define KEY_EMAIL_GET_EML_INTERVAL_TIME tr("GET_EMAIL_INTERVAL_TIME")
|
||
#define VALUE_EMAIL_GET_EML_INTERVAL_TIME tr("600")
|
||
|
||
|
||
#define GROUP_EMAIL_GET_PROCESS tr("GET_PROCESS")
|
||
|
||
#define KEY_EMAIL_GET_FILE_SAVEPATH tr("FILE_SAVE_PATH")
|
||
#define VALUE_EMAIL_GET_FILE_SAVE_PATH tr("./datatest/mailload/")
|
||
|
||
#define KEY_EMAIL_GET_EML_SAVE_PATH tr("EML_SAVE_PATH")
|
||
#define VALUE_EMAIL_GET_EML_SAVE_PATH tr("./datatest/eml/")
|
||
|
||
#define KEY_EMAIL_GET_EML_INTERVAL_TIME tr("GET_EMAIL_INTERVAL_TIME")
|
||
#define VALUE_EMAIL_GET_EML_INTERVAL_TIME tr("1800")
|
||
|
||
|
||
#define GROUP_EMAIL_GET tr("GET_MAIL")
|
||
#define GROUP_EMAIL_GET_ONE tr("GET_MAIL_1")
|
||
#define GROUP_EMAIL_GET_TWO tr("GET_MAIL_2")
|
||
|
||
#define KEY_EMAIL_GET_USER tr("USER")
|
||
#define VALUE_EMAIL_GET_USER tr("cnndc.rn")
|
||
|
||
#define KEY_EMAIL_GET_PASSWD tr("PASSWD")
|
||
#define VALUE_EMAIL_GET_PASSWD tr("367220")
|
||
|
||
#define KEY_EMAIL_GET_SERVER tr("SERVER")
|
||
#define VALUE_EMAIL_GET_SERVER tr("192.168.10.59")
|
||
|
||
#define KEY_EMAIL_GET_PORT tr("PORT")
|
||
#define VALUE_EMAIL_GET_PORT tr("143")
|
||
|
||
typedef struct _Read_Result_
|
||
{
|
||
/* Infomations */
|
||
QString msg_type;
|
||
QString msg_id;
|
||
QString data_type;
|
||
|
||
/* Header Black */
|
||
QString designator; // designator
|
||
QString site_code; // site code
|
||
QString detector_code; // detector code
|
||
QString system_type; // system type: P for particulate; B for gas with 3-D β - γ coincidence detection; and
|
||
// G for all other gas systems (high-resolu-tion γ-spectrometry or 2-D β-γ coinci-dence detection)
|
||
QString sample_geometry; // sample geometry
|
||
QString spectrum_quantity; // spectrum qualifier: preliminary ( PREL )or full ( FULL)
|
||
QString sample_ref_id; // sample reference identification
|
||
QString measurement_id; // measurement identification
|
||
QString detector_bk_measurement_id; // detector background measurement identification
|
||
QString gas_bk_measurement_id; // gas background measurement identification (memory effect)
|
||
QString transmit_date; // transmit date (yyyy / mm / dd)
|
||
QString transmit_time; // transmit time (hh : mm : ss . s)
|
||
|
||
/* Acquisition Block */
|
||
QString acquisition_start_date; // acquisition start date (yyyy / mm / dd)
|
||
QString acquisition_start_time; // acquisition start time (hh : mm : ss . s)
|
||
double acquisition_real_time; // acquisition real time (s)
|
||
double acquisition_live_time; // acquisition live time (s)
|
||
|
||
/* Collection Block */
|
||
QString collection_start_date; // collection start date (yyyy / mm / dd)
|
||
QString collection_start_time; // collection start time (hh : mm : ss . s)
|
||
QString collection_stop_date; // collection stop date (yyyy / mm / dd)
|
||
QString collection_stop_time; // collection stop time (hh : mm : ss . s)
|
||
double air_volume; // total air volume sampled (standard cubic meters [scm])
|
||
|
||
/* Processing Block */
|
||
double sample_volume_of_Xe; // sample volume of Xe (cm 3 )
|
||
double uncertainty_1; // uncertainty (cm 3 )
|
||
double Xe_collection_yield; // Xe collection yield (Xe gas in sample/total Xe gas sampled)
|
||
double uncertainty_2; // uncertainty (Xe gas in sample/total Xe gas sampled)
|
||
QString archive_bottle_id; // archive bottle identification
|
||
|
||
/* Calibration Block */
|
||
QString date_calibration; // date of last calibration (yyyy / mm / dd)
|
||
QString time_calibration; // time of last calibration (hh : mm : ss)
|
||
|
||
/* g_Energy Block */
|
||
QVector<double> g_energy; // γ -energy (keV)
|
||
QVector<double> g_centroid_channel; // centroid channel
|
||
QVector<double> g_uncertainty; // uncertainty (channels)
|
||
int g_record_count;
|
||
|
||
/* b_Energy Block */
|
||
QVector<double> b_electron_energy; // electron energy (keV)
|
||
QVector<QString> b_decay_mode; // decay mode descriptor: B for β-particle, C for conversion electron (CE)
|
||
QVector<double> b_channel; // maximum channel of β-particle distribution or centroid channel of CE (channels)
|
||
QVector<double> b_uncertainty; // uncertainty (channels)
|
||
int b_record_count;
|
||
|
||
/* g_Resolution Block */
|
||
QVector<double> g_r_energy; // γ -energy (keV)
|
||
QVector<double> g_r_FWHM; // FWHM (keV)
|
||
QVector<double> g_r_uncertainty; // uncertainty (keV)
|
||
int g_r_record_count;
|
||
|
||
/* b_Resolution Block */
|
||
QVector<double> b_r_electron_energy; // electron energy (keV)
|
||
QVector<double> b_r_FWHM; // FWHM (keV)
|
||
QVector<double> b_r_uncertainty; // uncertainty (keV)
|
||
int b_r_record_count;
|
||
|
||
/* g_Efficiency Block */
|
||
QVector<double> g_e_energy; // γ -energy (keV)
|
||
QVector<double> g_e_efficiency; // efficiency (counts in peak/photon emitted)
|
||
QVector<double> g_e_uncertainty; // uncertainty (counts in peak/photon emitted)
|
||
int g_e_record_count;
|
||
|
||
/* ROI_Limits Block */
|
||
QVector<QString> ROI_number; // ROI number
|
||
QVector<double> POI_B_x1; // 2-D ROI β-range start, x 1 (keV)
|
||
QVector<double> POI_B_x2; // 2-D ROI β-range stop, x 2 (keV)
|
||
QVector<double> POI_G_y1; // 2-D ROI γ-range start, y 1 (keV)
|
||
QVector<double> POI_G_y2; // 2-D ROI γ-range stop, y 2 (keV)
|
||
int roi_record_count;
|
||
|
||
/* b-gEfficiency Block */
|
||
QVector<QString> bg_nuclide_name; // nuclide name
|
||
QVector<QString> bg_ROI_number; // ROI number
|
||
QVector<double> bg_efficiency; // β-γ coincidence efficiency (counts in ROI/β-γ pair emitted)
|
||
QVector<double> bg_uncertainty; // uncertainty (counts in ROI/β-γ pair emitted)
|
||
int bg_record_count;
|
||
|
||
/* Ratios Block */
|
||
QVector<QString> ratio_id; // ratio identifier
|
||
QVector<QString> ROI_num_highter_G_energy_ROI; // ROI number for the higher γ -energy ROI
|
||
QVector<QString> ROI_num_lower_G_energy_ROI; // ROI number for the lower γ -energy ROI
|
||
QVector<double> count_ratio; // Q_DECLARE_METATYPE(RMSSOHData::HeaderBlock)count ratio(counts in higher γ -energy ROI/counts in lower γ -energy ROI)
|
||
QVector<double> count_ratio_uncertainty; // count ratio uncertainty (percent)
|
||
int ratio_record_count;
|
||
|
||
/* g_Spectrum Block */
|
||
long num_g_channel; // number of γ channels
|
||
long g_energy_span; // γ-energy span (keV)
|
||
long g_begin_channel; // begin of channels
|
||
QVector<long> g_counts; // count at channel
|
||
|
||
/* b_Spectrum Block */
|
||
long num_b_channel; // number of β -channels
|
||
long b_energy_span; // β -energy span (keV)
|
||
long b_begin_channel; // begin of channels
|
||
QVector<long> b_counts; // counts at channels
|
||
|
||
/* Histogram Block */
|
||
long b_channels; // β-channels
|
||
long g_channels; // γ-channels
|
||
long b_h_energy_span; // β-energy span
|
||
long g_h_energy_span; // γ-energy span
|
||
QVector<long> h_counts; // counts at channels
|
||
}ReadResult;
|
||
|
||
typedef struct _Message_Infomations_
|
||
{
|
||
/* Infomations */
|
||
QString msg_type;
|
||
QString msg_id;
|
||
QString msg_src_code;
|
||
QString ref_id_str;
|
||
QString ref_src_code;
|
||
QString seq_num;
|
||
QString tot_num;
|
||
QString product_id;
|
||
QString delivery_id;
|
||
QString data_type;
|
||
bool verify_srid;
|
||
}
|
||
MessageInfo, *PtMessageInfo;
|
||
Q_DECLARE_METATYPE(MessageInfo)
|
||
|
||
/* Commect Block */
|
||
typedef QString CommentBlock;
|
||
Q_DECLARE_METATYPE(CommentBlock)
|
||
|
||
namespace RadionuclideData
|
||
{
|
||
enum AnalyseDataType
|
||
{
|
||
InvalidData,
|
||
GammaAnalyseData,
|
||
BetaGammaAnalyseData
|
||
};
|
||
|
||
typedef struct _Header_Block_
|
||
{
|
||
/* Header Black */
|
||
QString designator; // designator
|
||
QString site_code; // site code
|
||
QString detector_code; // detector code
|
||
QString system_type; // system type: P for particulate; B for gas with 3-D β - γ coincidence detection; and
|
||
// G for all other gas systems (high-resolu-tion γ-spectrometry or 2-D β-γ coinci-dence detection)
|
||
QString sample_geometry; // sample geometry
|
||
QString spectrum_quantity; // spectrum qualifier: preliminary ( PREL )or full ( FULL)
|
||
QString sample_ref_id; // sample reference identification
|
||
QString measurement_id; // measurement identification
|
||
QString detector_bk_measurement_id; // detector background measurement identification
|
||
QString gas_bk_measurement_id; // gas background measurement identification (memory effect)
|
||
QString transmit_date; // transmit date (yyyy / mm / dd)
|
||
QString transmit_time; // transmit time (hh : mm : ss . s)
|
||
}
|
||
HeaderBlock, *PtHeaderBlock;
|
||
|
||
typedef struct _Acquisition_Block_
|
||
{
|
||
/* Acquisition Block */
|
||
QString acquisition_start_date; // acquisition start date (yyyy / mm / dd)
|
||
QString acquisition_start_time; // acquisition start time (hh : mm : ss . s)
|
||
double acquisition_real_time; // acquisition real time (s)
|
||
double acquisition_live_time; // acquisition live time (s)
|
||
}
|
||
AcquisitionBlock, *PtAcquisitionBlock;
|
||
|
||
typedef struct _Collection_Block_
|
||
{
|
||
/* Collection Block */
|
||
QString collection_start_date; // collection start date (yyyy / mm / dd)
|
||
QString collection_start_time; // collection start time (hh : mm : ss . s)
|
||
QString collection_stop_date; // collection stop date (yyyy / mm / dd)
|
||
QString collection_stop_time; // collection stop time (hh : mm : ss . s)
|
||
double air_volume; // total air volume sampled (standard cubic meters [scm])
|
||
}
|
||
CollectionBlock, *PtCollectionBlock;
|
||
|
||
typedef struct _Processing_Block_
|
||
{
|
||
/* Processing Block */
|
||
double sample_volume_of_Xe; // sample volume of Xe (cm 3 )
|
||
double uncertainty_1; // uncertainty (cm 3 )
|
||
double Xe_collection_yield; // Xe collection yield (Xe gas in sample/total Xe gas sampled)
|
||
double uncertainty_2; // uncertainty (Xe gas in sample/total Xe gas sampled)
|
||
QString archive_bottle_id; // archive bottle identification
|
||
}
|
||
ProcessingBlock, *PtProcessingBlock;
|
||
|
||
typedef struct _Sample_Block_
|
||
{
|
||
/* Sample Block */
|
||
double dimension_1;
|
||
double dimension_2;
|
||
}
|
||
SampleBlock, *PtSampleBlock;
|
||
|
||
typedef struct _Calibration_Block_
|
||
{
|
||
/* Calibration Block */
|
||
QString date_calibration; // date of last calibration (yyyy / mm / dd)
|
||
QString time_calibration; // time of last calibration (hh : mm : ss)
|
||
}
|
||
CalibrationBlock, *PtCalibrationBlock;
|
||
|
||
typedef struct _g_Energy_Block_
|
||
{
|
||
/* g_Energy Block */
|
||
QVector<double> g_energy; // γ -energy (keV)
|
||
QVector<double> centroid_channel; // centroid channel
|
||
QVector<double> uncertainty; // uncertainty (channels)
|
||
int record_count;
|
||
}
|
||
G_EnergyBlock, *PtG_EnergyBlock;
|
||
|
||
typedef struct _b_Energy_Block_
|
||
{
|
||
/* b_Energy Block */
|
||
QVector<double> electron_energy; // electron energy (keV)
|
||
QVector<QString> decay_mode; // decay mode descriptor: B for β-particle, C for conversion electron (CE)
|
||
QVector<double> channel; // maximum channel of β-particle distribution or centroid channel of CE (channels)
|
||
QVector<double> uncertainty; // uncertainty (channels)
|
||
int record_count;
|
||
}
|
||
B_EnergyBlock, *PtB_EnergyBlock;
|
||
|
||
typedef struct _g_Resolution_Block_
|
||
{
|
||
/* g_Resolution Block */
|
||
QVector<double> g_energy; // γ -energy (keV)
|
||
QVector<double> FWHM; // FWHM (keV)
|
||
QVector<double> uncertainty; // uncertainty (keV)
|
||
int record_count;
|
||
}
|
||
G_ResolutionBlock, *PtG_ResolutionBlock;
|
||
|
||
typedef struct _b_Resolution_Block_
|
||
{
|
||
/* b_Resolution Block */
|
||
QVector<double> electron_energy; // electron energy (keV)
|
||
QVector<double> FWHM; // FWHM (keV)
|
||
QVector<double> uncertainty; // uncertainty (keV)
|
||
int record_count;
|
||
}
|
||
B_ResolutionBlock, *PtB_ResolutionBlock;
|
||
|
||
typedef struct _g_Efficiency_Block_
|
||
{
|
||
/* g_Efficiency Block */
|
||
QVector<double> g_energy; // γ -energy (keV)
|
||
QVector<double> efficiency; // efficiency (counts in peak/photon emitted)
|
||
QVector<double> uncertainty; // uncertainty (counts in peak/photon emitted)
|
||
int record_count;
|
||
}
|
||
G_EfficiencyBlock, *PtG_EfficiencyBlock;
|
||
|
||
typedef struct _n_g_Efficiency_Block_
|
||
{
|
||
/* g_Efficiency Block */
|
||
QVector<QString> dev_name;
|
||
QVector<double> g_energy; // γ -energy (keV)
|
||
QVector<double> efficiency; // efficiency (counts in peak/photon emitted)
|
||
QVector<double> uncertainty; // uncertainty (counts in peak/photon emitted)
|
||
int record_count;
|
||
}
|
||
n_G_EfficiencyBlock, *Pt_n_G_EfficiencyBlock;
|
||
|
||
typedef struct _ROI_Limits_Block_
|
||
{
|
||
/* ROI_Limits Block */
|
||
QVector<QString> ROI_number; // ROI number
|
||
QVector<double> POI_B_x1; // 2-D ROI β-range start, x 1 (keV)
|
||
QVector<double> POI_B_x2; // 2-D ROI β-range stop, x 2 (keV)
|
||
QVector<double> POI_G_y1; // 2-D ROI γ-range start, y 1 (keV)
|
||
QVector<double> POI_G_y2; // 2-D ROI γ-range stop, y 2 (keV)
|
||
int record_count;
|
||
}
|
||
ROI_LimitsBlock, *PtROI_LimitsBlock;
|
||
|
||
typedef struct _BG_Efficiency_Block_
|
||
{
|
||
/* b-gEfficiency Block */
|
||
QVector<QString> nuclide_name; // nuclide name
|
||
QVector<QString> ROI_number; // ROI number
|
||
QVector<double> bg_efficiency; // β-γ coincidence efficiency (counts in ROI/β-γ pair emitted)
|
||
QVector<double> uncertainty; // uncertainty (counts in ROI/β-γ pair emitted)
|
||
int record_count;
|
||
}
|
||
BG_EfficiencyBlock, *PtBG_EfficiencyBlock;
|
||
|
||
typedef struct _N_BG_Efficiency_Block_
|
||
{
|
||
/* b-gEfficiency Block */
|
||
QVector<QString> nuclide_name; // nuclide name
|
||
QVector<double> bg_efficiency; // β-γ coincidence efficiency (counts in ROI/β-γ pair emitted)
|
||
QVector<double> uncertainty; // uncertainty (counts in ROI/β-γ pair emitted)
|
||
int record_count;
|
||
}
|
||
NBG_EfficiencyBlock, *PtNBG_EfficiencyBlock;
|
||
|
||
|
||
typedef struct _Totaleff_Block_
|
||
{
|
||
/* Totaleff Block */
|
||
QVector<double> g_energy; // γ-energy (keV)
|
||
QVector<double> total_efficiency; // total efficiency (counts/photon emitted)
|
||
QVector<double> uncertainty; // uncertainty (counts/photon emitted)
|
||
int record_count;
|
||
}
|
||
TotaleffBlock, *PtTotaleffBlock;
|
||
|
||
typedef struct _Ratios_Block_
|
||
{
|
||
/* Ratios Block */
|
||
QVector<QString> ratio_id; // ratio identifier
|
||
QVector<QString> ROI_num_highter_G_energy_ROI; // ROI number for the higher γ -energy ROI
|
||
QVector<QString> ROI_num_lower_G_energy_ROI; // ROI number for the lower γ -energy ROI
|
||
QVector<double> count_ratio; // Q_DECLARE_METATYPE(RMSSOHData::HeaderBlock)count ratio(counts in higher γ -energy ROI/counts in lower γ -energy ROI)
|
||
QVector<double> count_ratio_uncertainty; // count ratio uncertainty (percent)
|
||
int record_count;
|
||
}
|
||
RatiosBlock, *PtRatiosBlock;
|
||
|
||
typedef struct _G_Spectrum_Block_
|
||
{
|
||
/* g_Spectrum Block */
|
||
long num_g_channel; // number of γ channels
|
||
long g_energy_span; // γ-energy span (keV)
|
||
long begin_channel; // begin of channels
|
||
QVector<long> counts; // count at channel
|
||
|
||
//Add By XYL 20170721
|
||
_G_Spectrum_Block_()
|
||
{
|
||
num_g_channel = 0;
|
||
g_energy_span = 0;
|
||
begin_channel = 0;
|
||
}
|
||
}
|
||
G_SpectrumBlock, *PtG_SpectrumBlock;
|
||
|
||
typedef struct _B_Spectrum_Block_
|
||
{
|
||
/* b_Spectrum Block */
|
||
long num_b_channel; // number of β -channels
|
||
long b_energy_span; // β -energy span (keV)
|
||
long begin_channel; // begin of channels
|
||
QVector<long> counts; // counts at channels
|
||
}
|
||
B_SpectrumBlock, *PtB_SpectrumBlock;
|
||
|
||
typedef struct _Histogram_Block_
|
||
{
|
||
/* Histogram Block */
|
||
long b_channels; // β-channels
|
||
long g_channels; // γ-channels
|
||
long b_energy_span; // β-energy span
|
||
long g_energy_span; // γ-energy span
|
||
QVector<long> counts; // counts at channels
|
||
}
|
||
HistogramBlock, *PtHistogramBlock;
|
||
|
||
typedef struct _Certificate_Block_
|
||
{
|
||
/* Certificate Block */
|
||
double total_source_activity; // total source activity (Bq)
|
||
QString assay_date; // assay date (yyyy / mm / dd)
|
||
QString assay_time; // assay time (hh : mm : ss)
|
||
QString units_activity; // units of activity: “B,” “b” for Bq or “[blank]”; if nothing, then “B” is assigned
|
||
QVector<QString> nuclide_name; // nuclide name
|
||
QVector<QString> half_life_time; // half-life in seconds, hours, days, or years
|
||
QVector<QString> time_unit; // time unit(Y, D, H, S)
|
||
QVector<double> activity_nuclide_time_assay;// activity of nuclide at time of assay
|
||
QVector<double> uncertainty; // uncertainty (%)
|
||
QVector<double> g_energy; // γ-energy (keV)
|
||
QVector<double> g_intensity; // γ-intensity (percent)
|
||
QVector<QString> electron_decay_mode; // electron decay mode descriptor: B for β particle or C for conversion electron (CE), 0 for none (that is, γ-only source)
|
||
QVector<double> maximum_energy; // maximum β-particle energy or CE energy (keV)
|
||
QVector<double> intensity_b_particle; // intensity of β-particle (percent)
|
||
int record_count;
|
||
|
||
//Add By XYL 20170721
|
||
_Certificate_Block_()
|
||
{
|
||
total_source_activity = 0;
|
||
record_count = 0;
|
||
}
|
||
}
|
||
CertificateBlock, *PtCertificateBlock;
|
||
|
||
typedef struct _b_self_Attenuation_block_
|
||
{
|
||
/* b_self_Attenuation Block */
|
||
QVector<QString> devNames;
|
||
QVector<std::array<double, 3>> xenon;
|
||
QVector<std::array<double, 3>> nitrogen;
|
||
}
|
||
BSelfAttenuationBlock, *PtBSelfAttenuationBlock;
|
||
|
||
typedef struct _Gps_Block_
|
||
{
|
||
/* gps Block */
|
||
double lon; // 经度
|
||
double lat; // 纬度
|
||
}
|
||
GpsBlock, *PtGpsBlock;
|
||
}
|
||
Q_DECLARE_METATYPE(RadionuclideData::HeaderBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::AcquisitionBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::CollectionBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::ProcessingBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::SampleBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::CalibrationBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::G_EnergyBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::B_EnergyBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::G_ResolutionBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::B_ResolutionBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::G_EfficiencyBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::n_G_EfficiencyBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::ROI_LimitsBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::BG_EfficiencyBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::NBG_EfficiencyBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::TotaleffBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::RatiosBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::G_SpectrumBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::B_SpectrumBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::HistogramBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::CertificateBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::BSelfAttenuationBlock)
|
||
Q_DECLARE_METATYPE(RadionuclideData::GpsBlock)
|
||
|
||
namespace MetData
|
||
{
|
||
typedef QString MetDataStationCode; // station code
|
||
|
||
typedef struct _Met_Data_Item_
|
||
{
|
||
QString met_start_date; // met start date (yyyy/mm/dd)
|
||
QString met_start_time; // met start time (hh:mm:ss)
|
||
QString met_end_date; // met end date (yyyy/mm/dd)
|
||
QString met_end_time; // met end time (hh:mm:ss)
|
||
double average_outside_temperature; // average outside temperature (°C)
|
||
int average_wind_direction; // average wind-direction (degrees from north)
|
||
double average_wind_speed; // average wind-speed (m/s)
|
||
double average_barometric_reading; // average barometric reading (hPa)
|
||
int humidity; // average relative humidity (percent relative humidity)
|
||
double rainfall; // rainfall (mm)
|
||
}
|
||
MetDataItem, *PtMetDataItem;
|
||
}
|
||
Q_DECLARE_METATYPE(MetData::MetDataItem)
|
||
|
||
namespace RMSSOHData
|
||
{
|
||
typedef struct _Header_Block_
|
||
{
|
||
/* Header block */
|
||
QString designator; // designator
|
||
QString station_code; // station code
|
||
QString detector_code; // detector code or NA if 1) there is more than one detector or 2) data are from the sam-pling site of a split station
|
||
QString start_date; // SOH data sampling period start date (yyyy/mm/dd)
|
||
QString start_time; // SOH data sampling period start time (hh:mm:ss)
|
||
QString end_date; // SOH data sampling period end date (yyyy/mm/dd)
|
||
QString end_time; // SOH data sampling period end time (hh:mm:ss)
|
||
QString transmit_date; // transmit date (yyyy/mm/dd)
|
||
QString transmit_time; // transmit time (hh:mm:ss)
|
||
}
|
||
HeaderBlock, *PtHeaderBlock;
|
||
|
||
typedef struct _Air_Sampler_Flow_Block_
|
||
{
|
||
/* Air Sampler Flow block */
|
||
QVector<double> average_flow_rate; // average flow rate (standard cubic metersper hour (scm/h))
|
||
QVector<double> flow_rate_standard_deviation; // flow rate standard deviation (scm/h)
|
||
QVector<QString> start_date; // SOH data sampling interval start date (yyyy/mm/dd)
|
||
QVector<QString> start_time; // SOH data sampling interval start time (hh:mm:ss)
|
||
QVector<long> interval_duration; // SOH data sampling interval duration (s)
|
||
int record_count;
|
||
}
|
||
AirSamplerFlowBlock, *PtAirSamplerFlowBlock;
|
||
|
||
typedef struct _Air_Sampler_Env_Block_
|
||
{
|
||
/* Air Sampler Env block */
|
||
QVector<double> temperature; // average air temperature after filter (°C)
|
||
QVector<double> pressure; // average static air pressure after filter (hPa)
|
||
QVector<QString> date; // date (yyyy/mm/dd)
|
||
QVector<QString> time; // time (hh:mm:ss)
|
||
QVector<long> interval_duration; // SOH data sampling interval duration (s)
|
||
int record_count;
|
||
}
|
||
AirSamplerEnvBlock, *PtAirSamplerEnvBlock;
|
||
|
||
typedef struct _Det_Env_Block_
|
||
{
|
||
/* Det Env block */
|
||
QVector<double> room_temperature; // average room temperature (°C)
|
||
QVector<QString> detector_shield_status; // detector shield status (OPEN or CLOSED)
|
||
QVector<short> humidity; // average room humidity (in percent relative humidity)
|
||
QVector<long> voltage; // detector high voltage (V)
|
||
QVector<long> crystal_temperature; // average crystal temperature (°C)
|
||
QVector<QString> electric_cooler_status; // electric cooler status (ON or OFF)
|
||
QVector<double> fill_fraction; // liquid nitrogen fill-fraction
|
||
QVector<double> leakage; // detector leakage current (nanoamperes [nA])
|
||
QVector<QString> date; // date (yyyy/mm/dd)
|
||
QVector<QString> time; // time (hh:mm:ss)
|
||
QVector<long> interval_duration; // SOH data sampling interval duration (s)
|
||
int record_count;
|
||
}
|
||
DetEnvBlock, *PtDetEnvBlock;
|
||
|
||
typedef struct _NIMBIN_Block_
|
||
{
|
||
/* NIMBIN block */
|
||
QVector<QString> flag; // +/-
|
||
QVector<short> voltage; // average NIMBIN voltage (V)
|
||
QVector<QString> date; // date (yyyy/mm/dd)
|
||
QVector<QString> time; // time (hh:mm:ss)
|
||
QVector<long> interval_duration; // SOH data sampling interval duration (s)
|
||
int record_count;
|
||
}
|
||
NIMBIN_Block, *PtNIMBIN_Block;
|
||
|
||
typedef struct _Power_Supply_Block_
|
||
{
|
||
/* Power Supply block */
|
||
QVector<QString> MAIN; // MAIN (for MAIN power supply)
|
||
QVector<QString> main_power_status; // status of main power supply (ON/OFF)
|
||
QVector<QString> AUX; // AUX (for AUXiliary power supply)
|
||
QVector<QString> aux_power_status; // status of auxiliary power supply (ON/OFF)
|
||
QVector<QString> UPS; // UPS (for Uninterrupted Power Supply)
|
||
QVector<QString> ups_status; // status of uninterruptedly power supply (ON/ OFF)
|
||
QVector<QString> date; // date (yyyy/mm/dd)
|
||
QVector<QString> time; // time (hh:mm:ss)
|
||
QVector<long> interval_duration; // SOH data sampling interval duration (s)
|
||
int record_count;
|
||
}
|
||
PowerSupplyBlock, *PtPowerSupplyBlock;
|
||
|
||
typedef struct _Equip_Status_Block_
|
||
{
|
||
/* Equip Status block */
|
||
QVector<QString> C_value; // status of sampling system (ON/OFF) or the SRID of the sample being collected
|
||
QVector<QString> P_value; // status of sample preparation, processing, or decay (ON/OFF) or the SRID of the sample being processed or decayed
|
||
QVector<QString> A_value; // status of detector system (ON/OFF) or the SRID of the sample being counted
|
||
QVector<QString> date; // date (yyyy/mm/dd)
|
||
QVector<QString> time; // time (hh:mm:ss)
|
||
QVector<long> interval_duration; // SOH data sampling interval duration (s)
|
||
int record_count;
|
||
}
|
||
EquipStatusBlock, *PtEquipStatusBlock;
|
||
|
||
typedef struct _Tamper_Env_Block_
|
||
{
|
||
/* Tamper Env block */
|
||
QVector<QString> tamper_sensor_name; // tamper sensor name
|
||
QVector<QString> tamper_sensor_status; // tamper sensor status (OPEN or CLOSED)
|
||
QVector<QString> date; // date (yyyy/mm/dd)
|
||
QVector<QString> time; // time (hh:mm:ss)
|
||
QVector<long> interval_duration; // SOH data sampling interval duration (s)
|
||
int record_count;
|
||
}
|
||
TamperEnvBlock, *PtTamperEnvBlock;
|
||
|
||
typedef struct _Process_Sensors_Block_
|
||
{
|
||
/* Process Sensors block */
|
||
QVector<QString> sensor_type; // sensor type (TEMP, PRESSURE,PROCESSFLOW, VOLTAGE, COUN-TRATES, DEWPOINT, CO2VOLUME)
|
||
QVector<QString> sensor_name; // tamper sensor status (OPEN or CLOSED)
|
||
QVector<double> sensor_reading; // sensor reading (TEMP in °C, PRESSURE in Pa, PROCESSFLOW in m3/h, VOLT-AGE in V, COUNTRATE in counts/s, DEWPOINT in °C, CO2VOLUME in cm3)
|
||
QVector<QString> date; // date (yyyy/mm/dd)
|
||
QVector<QString> time; // time (hh:mm:ss)
|
||
QVector<long> duration; // SOH duration (s)
|
||
int record_count;
|
||
}
|
||
ProcessSensorsBlock, *PtProcessSensorsBlock;
|
||
|
||
typedef struct _Chromatogram_Block_
|
||
{
|
||
/* Chromatogram block */
|
||
QString srid; // the SRID of the sample being counted
|
||
QVector<long> interval_number; // interval number (starts at 1)
|
||
QVector<long> interval_start_channel; // interval start channel
|
||
QVector<double> duration; // duration between chromatogram readings (in seconds [s])
|
||
int interval_record_count;
|
||
long total_number; // total number of chromatogram readings
|
||
QVector<long> detector_response; // detector response
|
||
}
|
||
ChromatogramBlock, *PtChromatogramBlock;
|
||
}
|
||
Q_DECLARE_METATYPE(RMSSOHData::HeaderBlock)
|
||
Q_DECLARE_METATYPE(RMSSOHData::AirSamplerFlowBlock)
|
||
Q_DECLARE_METATYPE(RMSSOHData::AirSamplerEnvBlock)
|
||
Q_DECLARE_METATYPE(RMSSOHData::DetEnvBlock)
|
||
Q_DECLARE_METATYPE(RMSSOHData::NIMBIN_Block)
|
||
Q_DECLARE_METATYPE(RMSSOHData::PowerSupplyBlock)
|
||
Q_DECLARE_METATYPE(RMSSOHData::EquipStatusBlock)
|
||
Q_DECLARE_METATYPE(RMSSOHData::TamperEnvBlock)
|
||
Q_DECLARE_METATYPE(RMSSOHData::ProcessSensorsBlock)
|
||
Q_DECLARE_METATYPE(RMSSOHData::ChromatogramBlock)
|
||
|
||
namespace AlertData
|
||
{
|
||
typedef QString AlertsDescribe;
|
||
|
||
typedef struct _Alerts_Info_
|
||
{
|
||
QString station_code;
|
||
QString alert_type;
|
||
QString date;
|
||
QString time;
|
||
AlertsDescribe desc;
|
||
}
|
||
AlertsInfo, *PtAlertsInfo;
|
||
}
|
||
Q_DECLARE_METATYPE(AlertData::AlertsInfo)
|
||
|
||
#endif // DATA_MANAGE_DEFINE_H
|