OTSScanSim.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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) override;
  28. /// set dwell time
  29. virtual BOOL SetDwellTime(long nDwellTime) override;
  30. // acquire BSE image
  31. virtual CBSEImgPtr AcquireBSEImage(int a_nMatrixIndex, int nReads, int nDwell) override;
  32. virtual CSize GetFrameResolutionByIndex(const long a_nIndex) override;
  33. virtual BOOL SetFrameResolutionByIndex(const long a_nIndex) override;
  34. virtual long GetDwellTimeByIndex(const long a_nIndex) override;
  35. virtual BOOL SetDwellTimeByIndex(const long a_nIndex) override;
  36. // scan field size
  37. virtual BOOL SetScanFieldSize(const int a_nWidth, const int a_nHeight) override;
  38. // set the SEM position
  39. virtual BOOL SetEMPosition(const int a_nPosX, const int a_nPosY) override;
  40. };
  41. }