#pragma once #include "IClassifyEngine.h" #include "ExpressionParseEngine/ParticleSTD.h" namespace OTSClassifyEngine { class ExpressionClassifyEngine :public IClassifyEngine { public: ExpressionClassifyEngine(std::string name) :m_StrName(name) {}; //成员列表初始化参数 virtual ~ExpressionClassifyEngine() {}; virtual bool Init() override; virtual bool IfNeedMaxEDS(COTSParticlePtr particle, CPosXrayPtr xray, double& MaxEDSTime) override; // Inherited via IClassifyEngine virtual bool ClassifyBySpectrum(COTSParticlePtr particle, CPosXrayPtr xray) override; virtual bool ClassifyExpression(COTSParticlePtr particle, CPosXrayPtr xray) override; virtual bool ClassifyByExpressionTemporarySpectrum(COTSParticlePtr particle, CPosXrayPtr xray) override; virtual bool ClassifyIncA(COTSParticlePtr particle, int SteelTech, CPosXrayPtr xray) override; // Inherited via IClassifyEngine virtual bool ZeroElementProcess(COTSParticlePtr particle) override; private: ParticleSTDPtr m_std; string m_StrName; CString GetEleNameBySortingPercentage(CString sortingNo, CPosXrayPtr xrayInfo); double GetMacValue(CString MacStr); int GetAtomicNoBySortingPercentage(CString sortingNo, CPosXrayPtr xrayInfo); CElementChemistriesList ZeroElementProcess(COTSParticlePtr particle, CPosXrayPtr xray); void ProcessAllPropertiesWithParticleData(std::string& express, std::map& mapChemistrys, PartSTDRuleItemPtr itm, COTSParticlePtr particle); void ProcessImgPropertiesWithParticleData(std::string& express, PartSTDRuleItemPtr itm, COTSParticlePtr particle); }; }