123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #pragma once
- #include "PosXray.h"
- #include "Element.h"
- #include "SEMCommonConst.h"
- #include "Bruker\OTSBrukerImpl_const.h"
- namespace OTSController
- {
-
- using namespace OTSDATA;
-
-
- #ifdef UNICODE
- #define isdigit_t iswdigit
- #else
- #define isdigit_t isdigit
- #endif
-
- class __declspec(dllexport) COTSEDSBase
- {
- public:
- COTSEDSBase(void);
- ~COTSEDSBase(void);
-
- // Get EDS type
- // virtual
- virtual EDSController::EDS_ID GetType() = 0;
-
- virtual BOOL Init() = 0;
- //-------- collect spectrum data,for testing
-
- virtual BOOL CollectSpectrum(DWORD a_nMilliseconds) = 0;
- virtual BOOL CollectSpectrum(DWORD a_nMilliseconds, const CPoint& a_oPoint) = 0;
- virtual BOOL CollectSpectrum(DWORD a_nMilliseconds, long* a_pCounts, DWORD a_nBufferSize) = 0;
- //---------------
- virtual BOOL StopXrayAcquistion() = 0;
- // quantify spectrum
- // Get x-Ray data
- // virtual
- virtual DWORD* GetXRayData() = 0;
- // get max points limit
- virtual long GetMaxPointLimit(void) = 0;
- // get live time
- // virtual
- virtual float GetLiveTime(void) = 0;
-
- virtual BOOL GetXRayByPoints(std::vector<CPosXrayPtr>& a_vXRayPoints, const DWORD a_nXRayAQTime) = 0;
- virtual BOOL QuantifyXrays(std::vector<CPosXrayPtr>& a_vXRayParts)=0;//in our system ,one particle has one CPosXray object.
- virtual BOOL QuantifyXray(CPosXrayPtr& a_vXRayPart)=0;
- virtual BOOL GetXRayByFeatures(std::vector<CPosXrayPtr>& a_listXRayPoints,
- std::vector<BrukerFeature>& a_listFeatures,
- const DWORD a_nXRayAQTime) = 0;
- // Quantification
- virtual void SetQuantification(BOOL a_bQuantification) = 0;
- virtual BOOL GetQuantification() = 0;
- virtual DWORD GetNumberOfChannels(void) = 0;
-
-
- virtual void SetExpectCount(int expectcount)=0 ;
- virtual int GetExpectCount() = 0;
- virtual void SetQuantificationParam(bool ifauto, CString knownelements)=0;
- protected:
-
- virtual BOOL GetQuantificationMethods(std::vector<CString>& a_vMethods) = 0;
- virtual BOOL QuantifyXrayPoint(CPosXray* a_pXRayPoint, LPCTSTR a_sMethodName) = 0;
- virtual BOOL QuantifySpectrumFile(LPCTSTR a_sFilePathName, LPCTSTR a_sMethodName, CElementChemistriesList& a_listElementChemistry) = 0;
- virtual BOOL QuantifySpectrumOut(DWORD a_nMilliseconds, long* a_pCounts, DWORD a_nBufferSize, CElementChemistriesList& a_listElementChemistry) = 0;
-
- // x-Ray data
- DWORD m_nRayData[(long)EDSConst::XANA_CHANNELS];
- //amplify time list
- float m_list_ampTime[(long)EDSConst::MAX_AMPTIME_CONSTANTS];
- //amplify times
- long m_nTimeCounts;
- // do quantification
- BOOL m_bDoQuantification;
- };
- typedef std::shared_ptr<COTSEDSBase> COTSEDSBasePtr;
- }
|