CollimatorLogic.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #pragma once
  2. /*========================================================================================
  3. 单元逻辑设备的功能:
  4. 1、实现各参数的设置(仅提供功能接口);
  5. 2、实现在各种应用(DR、RF、超声)下的dose管理;
  6. 3、实现在各种检查(双能、拼接、软件AEC、AED等)下的状态管理;
  7. ==========================================================================================*/
  8. #ifndef CollimatorLogic_EXPORTS
  9. #ifdef _WIN64
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "CollimatorLogicX64D.lib")
  12. #else
  13. #pragma comment(lib, "CollimatorLogicX64.lib")
  14. #endif
  15. #else
  16. #ifdef _DEBUG
  17. #pragma comment(lib, "CollimatorLogicD.lib")
  18. #else
  19. #pragma comment(lib, "CollimatorLogic.lib")
  20. #endif
  21. #endif
  22. #endif
  23. #define PARAM_IN_TYPE
  24. #define ABSTRACT2UNIT 0
  25. #define UNIT2ABSTRACT 1
  26. #ifdef CollimatorLogic_EXPORTS
  27. #define COLLIMATORLOGIC_API __declspec(dllexport)
  28. #else
  29. #define COLLIMATORLOGIC_API __declspec(dllimport)
  30. #endif
  31. #include "LogicDevice.h"
  32. #include "DIOSLogicDeviceStructure.h"
  33. class COLLIMATORLOGIC_API CollimatorLogic : public LogicDevice
  34. {
  35. ResDataObject* m_pSyncData;
  36. public:
  37. CollimatorLogic(void);
  38. virtual ~CollimatorLogic(void);
  39. //get device type
  40. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  41. //get device resource
  42. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  43. //register system status
  44. virtual RET_STATUS SYSTEM_CALL GetSEQResource(ResDataObject PARAM_OUT *pDeviceStatus);
  45. //ResourceCommand Request In and Response Out
  46. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest,ResDataObject PARAM_OUT *pResponse);
  47. //notify to lower layer
  48. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  49. virtual RET_STATUS SetStudyInfo(ResDataObject PARAM_IN& pParam);
  50. virtual RET_STATUS SetTechParamsInfo(ResDataObject PARAM_IN& pParam);
  51. virtual RET_STATUS SetCollimatorSize(WORD xsize,WORD ysize);
  52. virtual RET_STATUS SetCollimatorSID(WORD sid);
  53. virtual RET_STATUS SetCollimatorFilter(WORD pParams);
  54. virtual RET_STATUS SetCollimatorAngle(WORD pParams);
  55. virtual RET_STATUS SetCollimatorMode(int pParams);
  56. RET_STATUS UpdateCollimatorXSize(WORD Param);
  57. RET_STATUS UpdateCollimatorYSize(WORD Param);
  58. RET_STATUS UpdateCollimatorSID(WORD Param);
  59. RET_STATUS UpdateCollimatorAngle(WORD Param);
  60. RET_STATUS UpdateCollimatorFilter(WORD Param);
  61. };