IClassifyEngine.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include <string>
  3. #include "OTSParticle.h"
  4. //#include "PosXrayInfo.h"
  5. #include <PosXray.h>
  6. namespace OTSClassifyEngine
  7. {
  8. using std::string;
  9. using namespace OTSDATA;
  10. //define interface
  11. class __declspec(dllexport) IClassifyEngine
  12. {
  13. public:
  14. IClassifyEngine() //³ÉÔ±Áбí³õʼ»¯²ÎÊý
  15. {};
  16. virtual ~IClassifyEngine() {};
  17. virtual bool Init() = 0;//
  18. virtual bool ClassifyBySpectrum(COTSParticlePtr particle, CPosXrayPtr xray) = 0;//belong to spectrum engine
  19. virtual bool ClassifyExpression(COTSParticlePtr particle, CPosXrayPtr xray) = 0;//belong to expression engine
  20. virtual bool ClassifyByExpressionTemporarySpectrum(COTSParticlePtr particle, CPosXrayPtr xray) = 0;//belong to expression engine
  21. virtual bool ClassifyIncA(COTSParticlePtr particle,int SteelTech, CPosXrayPtr xray) = 0;//belong to inca engine
  22. virtual bool IfNeedMaxEDS(COTSParticlePtr particle, CPosXrayPtr xray, double& MaxEDSTime) = 0;//belong to expression engine
  23. virtual bool ZeroElementProcess(COTSParticlePtr particle)=0;
  24. };
  25. typedef std::shared_ptr<IClassifyEngine> __declspec(dllexport) CLEEnginePtr;
  26. __declspec(dllexport) CLEEnginePtr GetInclutionEngine();//will be initialized at the first time.and it's a singleton object.
  27. __declspec(dllexport) CLEEnginePtr GetParticleEngine(std::string libName);//will be initialized at the first time.and it's a singleton object.
  28. __declspec(dllexport) CLEEnginePtr GetCurveCompareEngine(std::string libName);//will be initialized at the first time.and it's a singleton object.
  29. }