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

67 lines
1.8 KiB
C++

#pragma once
#ifdef DEVICEMANAGE_EXPORTS
#define DEVICEMANAGE_API_ENG_C(type) extern "C" _declspec(dllexport) type _stdcall
#else
#define DEVICEMANAGE_API_ENG_C(type) extern "C" _declspec(dllexport) type _stdcall
#endif
#include "AnalyzeSpecturmExport.h"
#pragma pack(push,1)
struct OneECPoint
{
double channel;
double energy;
double fitenergy;
double deltaenergy;
int energyfitflag;
double fwhm;
double fitfwhm;
double deltafwhm;
int fwhmfitflag;
};
struct OneEnergyCalibarationInfo
{
int head;
int version;
int curPoint;
int MaxChannel;
sLinearFitResult energylfr;
sLinearFitResult fwhmlfr;
eLinearFitType energyFitType;
unsigned char reserve[28];
};
class OneEnergyCalibaration;
#define MAX_ECPINT_NUM 64
#ifndef DEVICEMANAGE_EXPORTS
class OneEnergyCalibaration
{
public:
OneEnergyCalibarationInfo info;
OneECPoint point[MAX_ECPINT_NUM];
};
#endif
#pragma pack(pop)
#ifdef __cplusplus
extern "C" {
#endif
DEVICEMANAGE_API_ENG_C(int) DBCGetEnergyCaliinfo(int *pHandle, OneEnergyCalibaration *pUCI, int bdidx, int chidx);
DEVICEMANAGE_API_ENG_C(int) DBCAddEnergyCaliPoint(int *pHandle, int bdidx, int chidx, OneECPoint *point);
DEVICEMANAGE_API_ENG_C(int) DBCRemoveEnergyCaliPoint(int *pHandle, int bdidx, int chidx, OneECPoint *point);
DEVICEMANAGE_API_ENG_C(int) DBCChangeEnergyFitType(int *pHandle, int bdidx, int chidx, eLinearFitType lft);
DEVICEMANAGE_API_ENG_C(int) DBCSaveEnergyCaliToFile(int *pHandle, int bdidx, int chidx, const char *path, char *ErrMsg);
DEVICEMANAGE_API_ENG_C(int) DBCReadEnergyCaliFromFile(int *pHandle, int bdidx, int chidx, const char *path, char *ErrMsg);
DEVICEMANAGE_API_ENG_C(int) DBCSaveCaliToFile(int *pHandle, int bdidx, int chidx, const char *path, char *ErrMsg);
DEVICEMANAGE_API_ENG_C(int) DBCReadCaliFromFile(int *pHandle, int bdidx, int chidx, const char *path, char *ErrMsg);
#ifdef __cplusplus
}
#endif