OTSBrukerImpl_const.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #pragma once
  2. #include <wtypes.h>
  3. namespace OTSController {
  4. const BYTE FIRST_DETECTOR_ID = 1;
  5. const BYTE SECOND_DETECTOR_ID = 2;
  6. const BYTE THIRD_DETECTOR_ID = 3;
  7. const BYTE FOURTH_DETECTOR_ID = 4;
  8. const BYTE FIRST_DETECTOR_COM = 1;
  9. const BYTE SECOND_DETECTOR_COM = 2;
  10. const BYTE THIRD_DETECTOR_COM = 4;
  11. const BYTE FOURTH_DETECTOR_COM = 8;
  12. const int BRUKER_XRAY_COLLECT_LIMIT = 2048;
  13. enum class EBrukerErrorCode
  14. {
  15. // Error constants generated from client program
  16. IFC_ERROR_IN_EXECUTION = -1,
  17. IFC_ERROR_WRONG_PARAMETER = -2,
  18. IFC_ERROR_SPECTRUM_BUFFER_EMPTY = -3,
  19. IFC_ERROR_PARAMETER_MISSED = -4,
  20. IFC_ERROR_TOO_MANY_PARAMETERS = -5,
  21. IFC_ERROR_USER_TERMINATED = -6,
  22. IFC_ERROR_TIMEOUT = -7,
  23. IFC_ERROR_UNKNOWN_VALUE_NAME = -8,
  24. IFC_ERROR_WRONG_VALUE_TYPE = -9,
  25. // Errors coming from OpenClient()
  26. CONN_ERROR_UNKNOWN = -21,
  27. CONN_ERROR_INTERFACE_NOT_CONNECTED = -22,
  28. CONN_ERROR_PARAMETER_MISSED = -23,
  29. CONN_ERROR_ANSWER_TIMEOUT = -24,
  30. CONN_ERROR_SERVER_NOT_RESPONDING = -25,
  31. CONN_ERROR_RESULT_MISSED = -26,
  32. CONN_ERROR_NO_INTERFACE = -27,
  33. CONN_ERROR_INVALID_LOGIN = -28,
  34. CONN_ERROR_NO_CONNECTION_TO_SERVER = -29,
  35. CONN_ERROR_SERVER = -30,
  36. CONN_ERROR_ACTION_ABORTED = -31,
  37. // Error constants generated from rtifcclient.dll
  38. ERROR_WRONG_PARAMETER = -101,
  39. ERROR_FILE_NOT_EXIST = -102,
  40. ERROR_NO_CONNECTION = -103,
  41. ERROR_NO_ANSWER = -104,
  42. ERROR_CAN_NOT_START_PROCESS = -105,
  43. ERROR_INVALID_RESULT_DATA = -106,
  44. // no direct call to server possible (used in '..Direct' calls
  45. ERROR_NO_SERVER_CONNECTION = -103,
  46. };
  47. // client dll =========================================================
  48. #pragma pack(push, 1)
  49. struct BrukerSegment
  50. {
  51. DWORD Y;
  52. DWORD XStart;
  53. long XCount;
  54. BrukerSegment()
  55. : Y(0)
  56. , XStart(0)
  57. , XCount(1) // this default 1 for XCount is used by point list x-ray analysis
  58. {}
  59. void operator=(const BrukerSegment& other)
  60. {
  61. Y = other.Y;
  62. XStart = other.XStart;
  63. XCount = other.XCount;
  64. }
  65. };
  66. struct BrukerFeature
  67. {
  68. BrukerFeature()
  69. : SegmentCount(0)
  70. , pSegment(NULL)
  71. {}
  72. /* ~BrukerFeature()
  73. {
  74. }*/
  75. void BrukerFeature::Clean()
  76. {
  77. if (pSegment)
  78. {
  79. delete[] pSegment;
  80. pSegment = NULL;
  81. }
  82. }
  83. long SegmentCount;
  84. BrukerSegment* pSegment;
  85. };
  86. #pragma pack(pop)
  87. #pragma pack(push, 1)
  88. struct RTSpectrumHeaderRec
  89. {
  90. BYTE IDStringLength;
  91. char IDString[25]; // : string[25]; // 'Rontec XRay spectrum'
  92. long Version; // : longint; // Version information
  93. long Size; // : longint; // Size in byte
  94. double DateTime; // : double; // Delphi 5.0 version of date and time
  95. long ChannelCount; // : longint; //
  96. long ChannelOffset; // : longint; // First channel index
  97. double CalibrationAbs; // : double; // Energy of first channel
  98. double CalibrationLin; // : double; // keV per channel
  99. double SigmaAbs; // : double; // Sigma^2 energy calibration
  100. double SigmaLin; // : double;
  101. long RealTime; // : longint; // real measure time in ms
  102. long LifeTime; // : longint; // life time in ms
  103. };
  104. #pragma pack(pop)
  105. struct RTImageInfoEx
  106. {
  107. long Magnification;
  108. double PixelSizeX;
  109. double PixelSizeY;
  110. double HighVoltage;
  111. double WorkingDistance;
  112. };
  113. // scan mode is 1 means external off
  114. long const BRUKER_SCAN_MODE_EXTERNAL_OFF = 1;
  115. long const BRUKER_SCAN_MODE_EXTERNAL_ON = 0;
  116. }