1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #pragma once
- #include "OTSEDSBase.h"
- #include "OTSOxfordImpl.h"
- #include "../OTSControl/Bruker/OTSBrukerImpl.h"
- // DWORD m_xRayData[(unsigned int)EDSConst::XANA_CHANNELS];
- namespace OTSController
- {
- class COTSEDSOxford : public COTSEDSBase
- {
- public:
- COTSEDSOxford(void);
- virtual ~COTSEDSOxford(void);
- /// <summary>
- /// Get eds type
- /// </summary>
- /// <returns>
- /// Return the eds type
- /// </returns>
- virtual EDSController::EDS_ID GetType() override { return EDSController::EDS_ID::OXFORD; }
- // initialization method
- virtual BOOL Init() override;
- // To show whether the detector can collect a set of xray 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;
- // Set Amp Time Index for all detectors
- virtual BOOL SetAmpTimeIndex(long /*a_nIndex*/) override { return true; }
- /// get live time
- virtual float GetLiveTime(void) override { return 0.0; }
- /// get max points limit
- virtual long GetMaxPointLimit(void) override { return 1024; }
- 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_listFeatures,
- const DWORD a_nXRayAQTime) override;
- virtual BOOL StopXrayAcquistion() override;
- /*virtual BOOL GetXRayByFeaturesFromMultiPoint(std::vector<CPosXrayPtr>& a_listXRayPoints,
- std::vector<std::vector<BrukerSegment>>& a_listFeatures,
- const DWORD a_nXRayAQTime) override;*/
- // Quatification
- virtual void SetQuantification(BOOL a_bQuantification) override;
- virtual BOOL GetQuantification() override;
- // Get number of channels
- virtual DWORD GetNumberOfChannels(void) override;
- // Get the x-Ray data
- virtual DWORD* GetXRayData() override;
- // 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;
- protected:
- std::shared_ptr<OxfordImpl> m_oxfordImpl;
- };
- }
- // namespace Controller
|