AnalysisSystemForRadionucli.../ROIDef.h
2024-06-04 15:27:02 +08:00

74 lines
2.8 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef ROI_DEFINE_H
#define ROI_DEFINE_H
#include <QVector>
#include <QString>
//感应区限值结构
/*typedef struct tagROILimit
{
QVector<double> ROI_B_start_x1;// ROI B-rang start,x1(keV)
QVector<double> ROI_B_stop_x2; // ROI B_rang stop,x2(kev)
QVector<double> ROI_G_start_y1;// ROI G-rang start,y1(keV)
QVector<double> ROI_G_stop_y2; // ROI G_rang stop,y2(kev)
}*pROILimit,ROILimit;
*/
//感兴趣区 边界值
typedef struct tagROIBoundary
{
QVector<int> ROI_B_start_x;
QVector<int> ROI_B_stop_x;
QVector<int> ROI_G_start_y;
QVector<int> ROI_G_stop_y;
}*pROIBoundary,ROIBoundary;
typedef struct tagHistogram
{
long b_channels; // β-channels
long g_channels; // γ-channels
QVector<long long> counts; // counts at channels
}*pHistogram,Histogram;
//计算感兴趣计数时需要传入数据的结构
typedef struct tagROIctsI
{
ROIBoundary roi_boundary;
Histogram histogram;
}*pROIctsI,ROIctsI;
//感兴趣区计数返回值结构
//感兴趣区计数返回值
typedef struct tagROIctsO
{
QVector<double> roi_cts; //感兴趣兴趣区总计数
}*pROIctsO,ROIctsO;
//计算感兴趣区净计数输入参数
typedef struct tagROINetXectsI
{
QVector<double> roi_cts; //样品普或者气体谱感兴趣总计数
QVector<double> roi_ratios; //感兴趣比率
QVector<double> roi_detbg_cts; //探测器本地谱感兴区总计数
double ratio; //样品谱LT和气体本底谱/探测器本底谱LT 比率值
}*pNetXectsI,NetXectsI;
//计算净计数总数计算输入参数
//数据校验结构 c
typedef struct tagSGTime //样品普和气体本地谱时间参数
{
double s_acquisition_real_time; //acquisition real time (s)
double s_acquisition_live_time; //acquisition live time (s)
double g_acquisition_real_time; //acquisition real time (s)
double g_acquisition_live_time; //acquisition live time (s)
double gtos_acqStartDiff; //气体本地谱与样品谱acquistion的相对时间
}*pSGTime,SGTime;
typedef struct tagROINetCountsI
{
QVector<double> s_netXe; //样品谱到探测器本地谱计数 [n..0] 计数 [n..1]计数偏差 [n..2]感兴趣区关键水平 [0-2]=0;
// the ROIs are numbered from one, so the first three
// positions are filled with zeroes.
QVector<double> g_netXe; //气体本地谱道探测器本地谱计数 [n..0] 计数 [n..1]计数偏差 [n..2]感兴趣区关键水平 [0-2]=0;
// the ROIs are numbered from one, so the first three
// positions are filled with zeroes.
SGTime time;
}*pNetCountsI,NetCountsI;
#endif