SEMCommonConst.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. #pragma once
  2. namespace OTSController {
  3. const double MM2MICRON = 1000.;
  4. const long SAMPLECHAMBER_WIDTH_DEFAULT = (long)(100 * MM2MICRON);
  5. const long SAMPLECHAMBER_WIDTH_LIMIT_MIN = (long)(30 * MM2MICRON);
  6. const long SAMPLECHAMBER_WIDTH_LIMIT_MAX = (long)(500 * MM2MICRON);
  7. const long SAMPLECHAMBER_HEIGHT_DEFAULT = (long)(100 * MM2MICRON);
  8. const long SAMPLECHAMBER_HEIGHT_LIMIT_MIN = (long)(30 * MM2MICRON);
  9. const long SAMPLECHAMBER_HEIGHT_LIMIT_MAX = (long)(500 * MM2MICRON);
  10. const double POSITIONCRITERIA = 3.0;
  11. const long SEM_CONTROLLER_MAX = 11;
  12. const CString SEM_CONTROLLER_NAMES[SEM_CONTROLLER_MAX] = { _T("EM Offline"),
  13. _T("EM Genesis"),
  14. _T("EM Zeiss"),
  15. _T("EM Bruker"),
  16. _T("EM Oxford"),
  17. _T("EM Hitachi"),
  18. _T("EM Jeol"),
  19. _T("EM TM3030"),
  20. _T("EM SU3500"),
  21. _T("EM Quanta Demo"),
  22. _T("EM AMICS Client")
  23. };
  24. const long EDS_CONTROLLER_MAX = 5;
  25. const CString EDS_CONTROLLER_NAMES[EDS_CONTROLLER_MAX] = { _T("EDS Offline"),
  26. _T("EDS Genesis"),
  27. _T("EDS Bruker"),
  28. _T("EDS Oxford"),
  29. _T("EDS IXRF")
  30. };
  31. const long SCANNER_CONTROLLER_MAX = 5;
  32. const CString SCANER_CONTROLLER_NAMES[SCANNER_CONTROLLER_MAX] = { _T("Scan Offline"),
  33. _T("Scan Genesis"),
  34. _T("Scan Bruker"),
  35. _T("Scan Oxford"),
  36. _T("Scan IXRF"),
  37. };
  38. class CSEMCommonConst
  39. {
  40. public:
  41. CSEMCommonConst();
  42. ~CSEMCommonConst();
  43. };
  44. /// <summary>
  45. /// Class EMController definition.
  46. /// </summary>
  47. class __declspec(dllexport) OTSSEMController
  48. {
  49. public:
  50. enum class SEM_ID
  51. {
  52. INVALID = 0,
  53. OFFLINE = 1,
  54. MIN = 1,
  55. USEDMIN = 1,
  56. GENESIS = 2,
  57. ZEISS = 3,
  58. BRUKER = 4,
  59. OXFORD = 5,
  60. HITACHI = 6,
  61. JEOL = 7,
  62. TM3030 = 8,
  63. SU3500 = 9,
  64. QUANTA = 10,
  65. MAX = 10
  66. };
  67. //static CString GetName(const int a_nId);
  68. };
  69. class COTSPreferenceData
  70. {
  71. COTSPreferenceData() = delete;
  72. ~COTSPreferenceData() = delete;
  73. public:
  74. static BOOL m_bIsEMAutoAxisDirection;
  75. static int m_nSampleChamberWidth;
  76. static BOOL m_bIsEMAxisXRightDirection;
  77. static int m_nSampleChamberHeight;
  78. static BOOL m_bIsEMAxisYUpDirection;
  79. static int m_nEMScreenRatioIndex;
  80. };
  81. // convert SEM position
  82. void ConvertEMPosition(const BOOL a_bIsAutoAxis,
  83. const double a_dStageWidth, const BOOL a_bIsXRightDirection,
  84. const double a_dStageHeight, const BOOL a_bIsYUpDirection,
  85. double& a_dPositionX, double& a_dPositionY);
  86. /// <summary>
  87. /// Class EDSController definition.
  88. /// </summary>
  89. class __declspec(dllexport) EDSController
  90. {
  91. public:
  92. enum class EDS_ID
  93. {
  94. INVALID = 0,
  95. OFFLINE = 1,
  96. MIN = 1,
  97. GENESIS = 2,
  98. USEDMIN = 2,
  99. BRUKER = 3,
  100. OXFORD = 4,
  101. IXRF = 5,
  102. MAX = 5
  103. };
  104. //static CString GetName(const int a_nId);
  105. };
  106. /// <summary>
  107. /// Enum EDSConst definition.
  108. /// </summary>
  109. enum class EDSConst
  110. {
  111. MAX_XRAY_BATCH = 1024,
  112. XANA_CHANNELS = 2000,
  113. XANA_CHANNELS_MAX = 4192,
  114. MAX_AMPTIME_CONSTANTS = 10,
  115. MAX_EV_PER_CHANNELS = 5,
  116. MAX_ANALYZERS = 5,
  117. MAX_LEN_ANALYZER_NAME = 16
  118. };
  119. /// <summary>
  120. /// Class ScanController definition.
  121. /// </summary>
  122. class __declspec(dllexport)ScanController
  123. {
  124. public:
  125. enum class SCANNER_ID
  126. {
  127. INVALID = 0,
  128. OFFLINE = 1,
  129. MIN = 1,
  130. GENESIS = 2,
  131. USEDMIN = 2,
  132. BRUKER = 3,
  133. OXFORD = 4,
  134. IXRF = 5,
  135. MAX = 5
  136. };
  137. //static CString GetName(const int a_nId);
  138. };
  139. // DWELL_TIME of BRUKER
  140. const long DWELLTIME_BRUKER_ID_MIN = 0;
  141. const long DWELLTIME_BRUKER_ID_MAX = 9;
  142. const long DWELLTIME_BRUKER_ID_DEFAULT = 4; // 16
  143. const long DWELLTIME_BRUKER_ID_THREE_TIE_MIN = 3; // 8
  144. const long DWELLTIME_BRUKER_VALUES[DWELLTIME_BRUKER_ID_MAX + 1] = { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 };
  145. const CString DWELLTIME_BRUKER_STRINGS[DWELLTIME_BRUKER_ID_MAX + 1] = { _T("1¦Ìs"), _T("2¦Ìs"), _T("4¦Ìs"), _T("8¦Ìs"), _T("16¦Ìs"),
  146. _T("32¦Ìs"), _T("64¦Ìs"), _T("128¦Ìs"), _T("256¦Ìs"), _T("512¦Ìs") };
  147. // file and helper
  148. const CString STR_COMPANYNAME = _T("Config");
  149. const CString OTS_TEXT_FILE_COMMENT = _T("//");
  150. const CString STR_SIMULATE_DATA = _T("Simulate");
  151. }