OTSEDSSim.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #pragma once
  2. #include "../OTSEDSBase.h"
  3. #include "../SEMCommonConst.h"
  4. namespace OTSController {
  5. class __declspec(dllexport) COTSEDSSim: public COTSEDSBase
  6. {
  7. public:
  8. COTSEDSSim();
  9. virtual ~COTSEDSSim();
  10. // Get eds type
  11. virtual EDSController::EDS_ID GetType() override { return EDSController::EDS_ID::OFFLINE; }
  12. // initialization method
  13. virtual BOOL Init() override;
  14. // collect spectrum data
  15. virtual BOOL CollectSpectrum(DWORD a_nMilliseconds) override;
  16. virtual BOOL CollectSpectrum(DWORD a_nMilliseconds, const CPoint& a_oPoint) override;
  17. virtual BOOL CollectSpectrum(DWORD a_nMilliseconds, long* a_pCounts, DWORD a_nBufferSize) override;
  18. BOOL CollectASpectrumFromTxtFile(DWORD* a_pCounts, DWORD a_nBufferSize);
  19. virtual BOOL StopXrayAcquistion() override;
  20. // get live time
  21. virtual float GetLiveTime(void) override;
  22. virtual BOOL GetXRayByPoints(std::vector<CPosXrayPtr>& a_vXRayPoints, const DWORD a_nXRayAQTime)override;
  23. virtual BOOL GetXRayByFeatures(std::vector<CPosXrayPtr>& a_listXRayPoints,
  24. std::vector<BrukerFeature>& a_vFeatures,
  25. const DWORD a_nXRayAQTime) override;
  26. // Quatification
  27. virtual void SetQuantification(BOOL a_bQuantification) override;
  28. virtual BOOL GetQuantification() override;
  29. virtual BOOL QuantifyXrays(std::vector<CPosXrayPtr>& a_vXRayParts)override;//in our system ,one particle has one CPosXray object.
  30. virtual bool GetLiveRealTime(float& a_dLiveTime, float& a_dRealTime)
  31. {
  32. a_dLiveTime = GetLiveTime();
  33. a_dRealTime = 0.0;
  34. return true;
  35. };
  36. // Get number of channels
  37. virtual DWORD GetNumberOfChannels(void) override;
  38. // Get the x-Ray data
  39. virtual DWORD* GetXRayData() override;
  40. float* GetAmpTimeList(long& nAmpTime)
  41. {
  42. nAmpTime = m_nTimeCounts;
  43. return m_list_ampTime;
  44. }
  45. virtual void SetExpectCount(int expectcount) override;
  46. virtual BOOL QuantifyXray(CPosXrayPtr& a_vXRayPart)override;
  47. virtual int GetExpectCount()override;
  48. virtual void SetQuantificationParam(bool ifauto, CString knownelements) override;
  49. protected:
  50. // get x-ray point collection limit
  51. virtual long GetMaxPointLimit(void) override { return (long)EDSConst::MAX_XRAY_BATCH; }
  52. virtual BOOL GetQuantificationMethods(std::vector<CString>& a_vMethods) override;
  53. virtual BOOL QuantifyXrayPoint(CPosXray* a_pXRayPoint, LPCTSTR a_sMethodName) override;
  54. virtual BOOL QuantifySpectrumFile(LPCTSTR a_sFilePathName, LPCTSTR a_sMethodName, CElementChemistriesList& a_listElementChemistry) override;
  55. virtual BOOL QuantifySpectrumOut(DWORD a_nMilliseconds, long* a_pCounts, DWORD a_nBufferSize, CElementChemistriesList& a_listElementChemistry) override;
  56. int m_expectcount;
  57. };
  58. }