OTSScanSim.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #pragma once
  2. #include "../OTSScanBase.h"
  3. #include "../SEMCommonConst.h"
  4. namespace OTSController {
  5. class COTSScanSim : public COTSScanBase
  6. {
  7. public:
  8. COTSScanSim();
  9. ~COTSScanSim();
  10. // initialization
  11. virtual BOOL Init() override;
  12. /// instance termination
  13. //void FinishedInstance() override;
  14. virtual ScanController::SCANNER_ID GetType() override { return ScanController::SCANNER_ID::OFFLINE; }
  15. public:
  16. // Get matrix Size
  17. virtual CSize GetMatrixSize(int a_nMatrixIndex) override;
  18. // move beam to point
  19. virtual BOOL MoveBeamTo(CPoint& a_beamPos) override;
  20. // Set and Start Scan
  21. //virtual BOOL SetAndStartScan(void) override { return true; }
  22. // Set point Scan
  23. virtual BOOL SetPointScan(int /*a_nMatrixIndex*/) override { return true; }
  24. // Start Scan Table
  25. virtual BOOL StartScanTable(int a_nMatrixIndex, unsigned int nP, int* pnx, int* pny) override;
  26. // set Image Size
  27. virtual BOOL SetImageSize(long nImageSize,long nHeight) override;
  28. /// set dwell time
  29. virtual BOOL SetDwellTime(long nDwellTime) override;
  30. // acquire BSE image
  31. virtual CBSEImgPtr AcquireBSEImage() override;
  32. virtual long GetDwellTimeByIndex(const long a_nIndex) override;
  33. virtual BOOL SetDwellTimeByIndex(const long a_nIndex) override;
  34. // scan field size
  35. virtual BOOL SetScanFieldSize(const int a_nWidth, const int a_nHeight) override;
  36. // set the SEM position
  37. virtual BOOL SetEMPosition(const int a_nPosX, const int a_nPosY) override;
  38. private:
  39. const CSize RESOLUTION_VALUE[RESOLUTION_ID_MAX + 1] = { CSize(64, 48), CSize(128, 96), CSize(256, 192), CSize(512, 384),
  40. CSize(1024,768), CSize(2048, 1536), CSize(4096, 3072) };
  41. const CString RESOLUTION_STRINGS[RESOLUTION_ID_MAX + 1] = { _T("64 X 48"), _T("128 X 96"), _T("256 X 192"), _T("512 X 384"),
  42. _T("1024 X 768"), _T("2048 X 1536"), _T("4096 X 3072") };
  43. };
  44. }