| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | #pragma once//#include "../Bruker/OTSBrukerImpl.h"#include "../OTSEDSBase.h"#include "../SEMCommonConst.h"namespace OTSController {		class __declspec(dllexport)  COTSEDSSim: public COTSEDSBase	{	public:		COTSEDSSim();		virtual ~COTSEDSSim();		// Get eds type		virtual EDSController::EDS_ID GetType() override { return EDSController::EDS_ID::OFFLINE; }		// initialization method		virtual BOOL Init() override;		// To show whether the detector can collect a set of x-Ray one go		//virtual BOOL IsSupportSetCollection() override { return true; }				// collect spectrum data		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;		BOOL CollectASpectrumFromTxtFile(DWORD* a_pCounts, DWORD a_nBufferSize);		virtual BOOL StopXrayAcquistion() override;		// get live time		virtual float GetLiveTime(void) override;		virtual BOOL GetXRayByPoints(std::vector<CPosXrayPtr>& a_vXRayPoints, const DWORD a_nXRayAQTime)override;		virtual BOOL GetXRayByFeatures(std::vector<CPosXrayPtr>& a_listXRayPoints,			std::vector<BrukerFeature>& a_vFeatures,			const DWORD a_nXRayAQTime) override;		// Quatification		virtual void SetQuantification(BOOL a_bQuantification) override;		virtual BOOL GetQuantification() override;		virtual BOOL QuantifyXrays(std::vector<CPosXrayPtr>& a_vXRayParts)override;//in our system ,one particle has one CPosXray object.		virtual bool GetLiveRealTime(float& a_dLiveTime, float& a_dRealTime)		{			a_dLiveTime = GetLiveTime();			a_dRealTime = 0.0;			return true;		};		// Get number of channels		virtual DWORD GetNumberOfChannels(void) override;		// Get the x-Ray data		virtual DWORD* GetXRayData() override;		float* GetAmpTimeList(long& nAmpTime)		{			nAmpTime = m_nTimeCounts;			return m_list_ampTime;		}		virtual void SetExpectCount(int expectcount) override;		virtual BOOL QuantifyXray(CPosXrayPtr& a_vXRayPart)override;		virtual int GetExpectCount()override;	protected:		// get x-ray point collection limit		virtual long GetMaxPointLimit(void) override { return (long)EDSConst::MAX_XRAY_BATCH; }		// quantification only works for bruker controller now		//virtual BOOL IsSupportQuantification() override;		virtual BOOL GetQuantificationMethods(std::vector<CString>& 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;	  int	m_expectcount;		};}
 |