ExpressionClassifyEngine.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "IClassifyEngine.h"
  3. #include "ExpressionParseEngine/ParticleSTD.h"
  4. namespace OTSClassifyEngine
  5. {
  6. class ExpressionClassifyEngine :public IClassifyEngine
  7. {
  8. public:
  9. ExpressionClassifyEngine(std::string name) :m_StrName(name) {}; //³ÉÔ±Áбí³õʼ»¯²ÎÊý
  10. virtual ~ExpressionClassifyEngine() {};
  11. virtual bool Init() override;
  12. virtual bool IfNeedMaxEDS(COTSParticlePtr particle, CPosXrayPtr xray, double& MaxEDSTime) override;
  13. // Inherited via IClassifyEngine
  14. virtual bool ClassifyBySpectrum(COTSParticlePtr particle, CPosXrayPtr xray) override;
  15. virtual bool ClassifyExpression(COTSParticlePtr particle, CPosXrayPtr xray) override;
  16. virtual bool ClassifyByExpressionTemporarySpectrum(COTSParticlePtr particle, CPosXrayPtr xray) override;
  17. virtual bool ClassifyIncA(COTSParticlePtr particle, int SteelTech, CPosXrayPtr xray) override;
  18. // Inherited via IClassifyEngine
  19. virtual bool ZeroElementProcess(COTSParticlePtr particle) override;
  20. private:
  21. ParticleSTDPtr m_std;
  22. string m_StrName;
  23. CString GetEleNameBySortingPercentage(CString sortingNo, CPosXrayPtr xrayInfo);
  24. double GetMacValue(CString MacStr);
  25. int GetAtomicNoBySortingPercentage(CString sortingNo, CPosXrayPtr xrayInfo);
  26. CElementChemistriesList ZeroElementProcess(COTSParticlePtr particle, CPosXrayPtr xray);
  27. void ProcessAllPropertiesWithParticleData(std::string& express, std::map<std::string, CElementChemistryPtr>& mapChemistrys, PartSTDRuleItemPtr itm, COTSParticlePtr particle);
  28. void ProcessImgPropertiesWithParticleData(std::string& express, PartSTDRuleItemPtr itm, COTSParticlePtr particle);
  29. };
  30. }