EnergySpectrumMeasureService/3rdlib/DeviceManage/include/OneEfficientCalibarationDefine.h
2026-04-06 22:03:00 +08:00

93 lines
2.3 KiB
C++

#pragma once
#ifdef DEVICEMANAGE_EXPORTS
#define DEVICEMANAGE_API_EFFIC_C(type) extern "C" _declspec(dllexport) type _stdcall
#else
#define DEVICEMANAGE_API_EFFIC_C(type) extern "C" _declspec(dllexport) type _stdcall
#endif
#include "NuclideLibraryDefine.h"
#include "AnalyzeSpecturmExport.h"
#pragma pack(push,1)
enum eActivityUnit
{
eGPS,
eBq,
euCi,
};
struct Activity
{
double v;
eActivityUnit unit;
double uncertainty;
};
struct OneEFTPoint
{
char isotope[32];
double energy;
double efficency;
double fitefficency;
double deltefficency;
Activity activity;
char ertificateTime[32];
double halfLife;
eHalfLifeUnit halfLifeUnit;
double efficencyuncertain;
double percent;
unsigned char reserve[16];
};
struct OneKneePoint
{
double KneeEnergy;
sLinearFitResult BlowFitResult;
sLinearFitResult AboveFitResult;
unsigned char reserve[64];
};
struct OneEfficienCalibarationInfo
{
int head;
int version;
int curEFTPoint;
int curKneePoint;
unsigned char reserve[32];
};
struct EfficOnePeakInfo
{
OneValue area;
};
class OneEfficientCalibaration;
#ifndef DEVICEMANAGE_EXPORTS
class OneEfficientCalibaration
{
public:
OneEfficienCalibarationInfo info;
OneKneePoint kneepoint[16];
OneEFTPoint eftpoint[256];
};
#endif
#pragma pack(pop)
#ifdef __cplusplus
extern "C" {
#endif
DEVICEMANAGE_API_EFFIC_C(int) DBCGetDeviceBoardChannelEfficCaliinfo(int *pHandle, OneEfficientCalibaration *pUCI, int bdidx, int chidx);
DEVICEMANAGE_API_EFFIC_C(int) DBCAddEFTCaliPoint(int *pHandle, int bdidx, int chidx, OneEFTPoint *point);
DEVICEMANAGE_API_EFFIC_C(int) DBCRemoveEFTCaliPoint(int *pHandle, int bdidx, int chidx, OneEFTPoint *point);
DEVICEMANAGE_API_EFFIC_C(int) DBCSaveEFTCaliToFile(int *pHandle, int bdidx, int chidx, const char *path, char *ErrMsg);
DEVICEMANAGE_API_EFFIC_C(int) DBCReadEFTCaliFromFile(int *pHandle, int bdidx, int chidx, const char *path, char *ErrMsg);
DEVICEMANAGE_API_EFFIC_C(int) DBCGetEFTCaliinfo(int *pHandle, OneEfficientCalibaration *pUCI, int bdidx, int chidx);
DEVICEMANAGE_API_EFFIC_C(int) DBCChangeKneePointInfo(int *pHandle, int bdidx, int chidx, OneKneePoint *proi);
DEVICEMANAGE_API_EFFIC_C(int) DBCCalcEfficient(int *pHandle, int bdidx, int chidx, ASDataInfo* pASDI, EfficOnePeakInfo *popi, OneEFTPoint *poeft);
#ifdef __cplusplus
}
#endif