#pragma once #include "OTSScanBase.h" #include "OTSBrukerImpl.h" namespace OTSController { // Bruker Image Acquisition Device class COTSScanBrucker :public COTSScanBase { public: /// /// Creates a new IADBruker instance. /// COTSScanBrucker(); virtual ~COTSScanBrucker(); // initialization virtual BOOL Init() override; virtual ScanController::SCANNER_ID GetType() override { return ScanController::SCANNER_ID::BRUKER; } public: // Get matrix Size virtual CSize GetMatrixSize(int a_nMatrixIndex) override; // move beam to point virtual BOOL MoveBeamTo(CPoint& a_beamPos) override; // Set point Scan virtual BOOL SetPointScan(int /*a_nMatrixIndex*/) override { return true; } // Start Scan Table virtual BOOL StartScanTable(int a_nMatrixIndex, unsigned int nP, int* pnx, int* pny) override; // set Image Size virtual BOOL SetImageSize(long nImageSize,long nHeight) override; /// set dwell time virtual BOOL SetDwellTime(long nDwellTime) override; // acquire BSE image virtual CBSEImgPtr AcquireBSEImage(/*int a_nMatrixIndex, int nReads, int nDwell*/) override; virtual long GetDwellTimeByIndex(const long a_nIndex) override; virtual BOOL SetDwellTimeByIndex(const long a_nIndex) override; virtual BOOL SetScanFieldSize(const int a_nWidth, const int a_nHeight) override; virtual BOOL SetEMPosition(const int a_nPosX, const int a_nPosY) override; private: std::shared_ptr m_pBrukerImpl; }; }