#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