1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #pragma once
- // FileName: OTSEDSBrucker.h
- // Brief: EDS Base Class , x-Ray acquisition system
- #include "OTSBrukerImpl.h"
- #include "OTSEDSBase.h"
- namespace OTSController {
- class COTSEDSBrucker : public COTSEDSBase
- {
- public:
- COTSEDSBrucker(void);
- virtual ~COTSEDSBrucker(void);
- // Get eds type
- virtual EDSController::EDS_ID GetType() override { return EDSController::EDS_ID::BRUKER; }
-
- // 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;
- // Set Amp Time Index for all detectors
- virtual BOOL SetAmpTimeIndex(long) override { return TRUE; }
- // get live time
- virtual float GetLiveTime(void) override;
- // 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;
-
- 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 COTSEDSBrucker::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;
- private:
- // bruker controller
- std::shared_ptr<COTSBrukerImpl> m_pBrukerImpl;
- };
- } // namespace Controller
|