OTSScanBrucker.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include "OTSScanBase.h"
  3. #include "OTSBrukerImpl.h"
  4. namespace OTSController {
  5. // Bruker Image Acquisition Device
  6. class COTSScanBrucker :public COTSScanBase
  7. {
  8. public:
  9. /// <summary>
  10. /// Creates a new IADBruker instance.
  11. /// </summary>
  12. COTSScanBrucker();
  13. virtual ~COTSScanBrucker();
  14. // initialization
  15. virtual BOOL Init() override;
  16. /// instance termination
  17. void FinishedInstance() override;
  18. virtual ScanController::SCANNER_ID GetType() override { return ScanController::SCANNER_ID::BRUKER; }
  19. public:
  20. // Get matrix Size
  21. virtual CSize GetMatrixSize(int a_nMatrixIndex) override;
  22. // move beam to point
  23. virtual BOOL MoveBeamTo(CPoint& a_beamPos) override;
  24. // Set and Start Scan
  25. virtual BOOL SetAndStartScan(void) override { return true; }
  26. // Set point Scan
  27. virtual BOOL SetPointScan(int /*a_nMatrixIndex*/) override { return true; }
  28. // Start Scan Table
  29. virtual BOOL StartScanTable(int a_nMatrixIndex, unsigned int nP, int* pnx, int* pny) override;
  30. // set Image Size
  31. virtual BOOL SetImageSize(long nImageSize,long nHeight) override;
  32. /// set dwell time
  33. virtual BOOL SetDwellTime(long nDwellTime) override;
  34. // acquire BSE image
  35. virtual CBSEImgPtr AcquireBSEImage(int a_nMatrixIndex, int nReads, int nDwell) override;
  36. virtual long GetDwellTimeByIndex(const long a_nIndex) override;
  37. virtual BOOL SetDwellTimeByIndex(const long a_nIndex) override;
  38. virtual BOOL SetScanFieldSize(const int a_nWidth, const int a_nHeight) override;
  39. virtual BOOL SetEMPosition(const int a_nPosX, const int a_nPosY) override;
  40. private:
  41. std::shared_ptr<COTSBrukerImpl> m_pBrukerImpl;
  42. };
  43. }