#pragma once #include "OTSBrukerImpl.h" #include "OTSEDSBase.h" namespace OTSController { class __declspec(dllexport) COTSEDSBrucker : public COTSEDSBase { public: COTSEDSBrucker(void); virtual ~COTSEDSBrucker(void); // Get eds type virtual EDSController::EDS_ID GetType() override { return EDSController::EDS_ID::BRUKER; } // initialization method virtual BOOL Init() override; // ---------collect spectrum data, for testing only virtual BOOL CollectSpectrum(DWORD a_nMilliseconds) override; virtual BOOL CollectSpectrum(DWORD a_nMilliseconds, const CPoint& a_oPoint) override; virtual BOOL CollectSpectrum(DWORD a_nMilliseconds, long* a_pCounts, DWORD a_nBufferSize) override; //---------------- // ----------get xray data and do quatification interface virtual void SetQuantification(BOOL a_bQuantification) override; virtual BOOL GetQuantification() override; virtual BOOL GetXRayByPoints(std::vector& a_vXRayPoints, const DWORD a_nXRayAQTime)override; virtual BOOL GetXRayByFeatures(std::vector& a_listXRayPoints, std::vector& a_listFeatures, const DWORD a_nXRayAQTime) override; virtual BOOL QuantifyXrays(std::vector& a_vXRayParts)override; virtual BOOL QuantifyXray(CPosXrayPtr& a_vXRayPart)override; //----------------------------- virtual BOOL COTSEDSBrucker::StopXrayAcquistion()override; // Get number of channels virtual DWORD GetNumberOfChannels(void) override; // Get the x-Ray data virtual DWORD* GetXRayData() override; // get live time virtual float GetLiveTime(void) override; // get x-ray point collection limit virtual long GetMaxPointLimit(void) override { return (long)EDSConst::MAX_XRAY_BATCH; } virtual void SetExpectCount(int expectcount) override; // Inherited via COTSEDSBase virtual int GetExpectCount() override; private: virtual BOOL GetQuantificationMethods(std::vector& a_vMethods) override; virtual BOOL QuantifyXrayPoint(CPosXray* a_pXRayPoint, LPCTSTR a_sMethodName) override; virtual BOOL QuantifySpectrumFile(LPCTSTR a_sFilePathName, LPCTSTR a_sMethodName, CElementChemistriesList& a_listElementChemistry) override; virtual BOOL QuantifySpectrumOut(DWORD a_nMilliseconds, long* a_pCounts, DWORD a_nBufferSize, CElementChemistriesList& a_listElementChemistry) override; // bruker controller std::shared_ptr m_pBrukerImpl; }; }