OTSEDSSim.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #pragma once
  2. //#include "../Bruker/OTSBrukerImpl.h"
  3. #include "../OTSEDSBase.h"
  4. #include "../SEMCommonConst.h"
  5. namespace OTSController {
  6. class COTSEDSSim: public COTSEDSBase
  7. {
  8. public:
  9. COTSEDSSim();
  10. virtual ~COTSEDSSim();
  11. // Get eds type
  12. virtual EDSController::EDS_ID GetType() override { return EDSController::EDS_ID::OFFLINE; }
  13. /// instance termination
  14. //virtual void FinishedInstance() override;
  15. // initialization method
  16. virtual BOOL Init() override;
  17. // To show whether the detector can collect a set of x-Ray one go
  18. virtual BOOL IsSupportSetCollection() override { return true; }
  19. // collect spectrum data
  20. virtual BOOL CollectSpectrum(DWORD a_nMilliseconds) override;
  21. virtual BOOL CollectSpectrum(DWORD a_nMilliseconds, const CPoint& a_oPoint) override;
  22. virtual BOOL CollectSpectrum(DWORD a_nMilliseconds, long* a_pCounts, DWORD a_nBufferSize) override;
  23. // Set Amp Time Index for all detectors
  24. virtual BOOL SetAmpTimeIndex(long) override { return TRUE; }
  25. virtual BOOL StopXrayAcquistion() override;
  26. // get live time
  27. virtual float GetLiveTime(void) override;
  28. // get x-ray point collection limit
  29. virtual long GetMaxPointLimit(void) override { return (long)EDSConst::MAX_XRAY_BATCH; }
  30. // quantification only works for bruker controller now
  31. virtual BOOL IsSupportQuantification() override;
  32. virtual BOOL GetQuantificationMethods(std::vector<CString>& a_vMethods) override;
  33. virtual BOOL QuantifyXrayPoint(CPosXray* a_pXRayPoint, LPCTSTR a_sMethodName) override;
  34. virtual BOOL QuantifySpectrumFile(LPCTSTR a_sFilePathName, LPCTSTR a_sMethodName, CElementChemistriesList& a_listElementChemistry) override;
  35. virtual BOOL QuantifySpectrumOut(DWORD a_nMilliseconds, long* a_pCounts, DWORD a_nBufferSize, CElementChemistriesList& a_listElementChemistry) override;
  36. virtual BOOL GetXRayByPoints(std::vector<CPosXrayPtr>& a_vXRayPoints, const DWORD a_nXRayAQTime)override;
  37. virtual BOOL GetXRayByFeatures(std::vector<CPosXrayPtr>& a_listXRayPoints,
  38. std::vector<BrukerFeature>& a_vFeatures,
  39. const DWORD a_nXRayAQTime) override;
  40. // Quatification
  41. virtual void SetQuantification(BOOL a_bQuantification) override;
  42. virtual BOOL GetQuantification() override;
  43. virtual bool GetLiveRealTime(float& a_dLiveTime, float& a_dRealTime)
  44. {
  45. a_dLiveTime = GetLiveTime();
  46. a_dRealTime = 0.0;
  47. return true;
  48. };
  49. // Get number of channels
  50. virtual DWORD GetNumberOfChannels(void) override;
  51. // Get the x-Ray data
  52. virtual DWORD* GetXRayData() override;
  53. float* GetAmpTimeList(long& nAmpTime)
  54. {
  55. nAmpTime = m_nTimeCounts;
  56. return m_list_ampTime;
  57. }
  58. protected:
  59. };
  60. }