#pragma once /*======================================================================================== 单元逻辑设备的功能: 1、实现各参数的设置(仅提供功能接口); 2、实现在各种应用(DR、RF、超声)下的dose管理; 3、实现在各种检查(双能、拼接、软件AEC、AED等)下的状态管理; ==========================================================================================*/ #ifndef CollimatorLogic_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "CollimatorLogicX64D.lib") #else #pragma comment(lib, "CollimatorLogicX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "CollimatorLogicD.lib") #else #pragma comment(lib, "CollimatorLogic.lib") #endif #endif #endif #define PARAM_IN_TYPE #define ABSTRACT2UNIT 0 #define UNIT2ABSTRACT 1 #ifdef CollimatorLogic_EXPORTS #define COLLIMATORLOGIC_API __declspec(dllexport) #else #define COLLIMATORLOGIC_API __declspec(dllimport) #endif #include "LogicDevice.h" #include "DIOSLogicDeviceStructure.h" class COLLIMATORLOGIC_API CollimatorLogic : public LogicDevice { ResDataObject* m_pSyncData; public: CollimatorLogic(void); virtual ~CollimatorLogic(void); //get device type virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType); //get device resource virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource); //register system status virtual RET_STATUS SYSTEM_CALL GetSEQResource(ResDataObject PARAM_OUT *pDeviceStatus); //ResourceCommand Request In and Response Out virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest,ResDataObject PARAM_OUT *pResponse); //notify to lower layer virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd); virtual RET_STATUS SetStudyInfo(ResDataObject PARAM_IN& pParam); virtual RET_STATUS SetTechParamsInfo(ResDataObject PARAM_IN& pParam); virtual RET_STATUS SetCollimatorSize(WORD xsize,WORD ysize); virtual RET_STATUS SetCollimatorSID(WORD sid); virtual RET_STATUS SetCollimatorFilter(WORD pParams); virtual RET_STATUS SetCollimatorAngle(WORD pParams); virtual RET_STATUS SetCollimatorMode(int pParams); RET_STATUS UpdateCollimatorXSize(WORD Param); RET_STATUS UpdateCollimatorYSize(WORD Param); RET_STATUS UpdateCollimatorSID(WORD Param); RET_STATUS UpdateCollimatorAngle(WORD Param); RET_STATUS UpdateCollimatorFilter(WORD Param); };