SmplMsrResultFile.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #pragma once
  2. #include "SEMStageData.h"
  3. #include "Stage.h"
  4. #include "SEMStageData.h"
  5. #include "OTSSample.h"
  6. #include "OTSFieldData.h"
  7. #include "SEMDataGnr.h"
  8. namespace OTSMODEL {
  9. // sample measure result file mark
  10. const int SMPL_MSR_RESULT_FILE_MARK = 'S' + 'M' + 'P' + 'L' + 'M' + 'S' + 'R' + 'R' + 'E' + 'S' + 'U' + 'L' + 'T';
  11. // sample measure result file version
  12. const CString SMPL_MSR_RESULT_FILE_VERSION = _T("1.1.1");
  13. // sample measure result file extension
  14. const CString SMPL_MSR_RESULT_FILE_EXT = _T(".rst");
  15. const CString SMPL_MSR_RESULT_FILE_FILTER = _T("Sample Measure Result Files (*.rst)|*.rst||");
  16. // fields file sub-directory string
  17. const CString SMPL_MSR_RESULT_FIELDS_FILE_SUBFOLDER = _T("FIELD_FILES");
  18. // BSE file name
  19. const CString SMPL_MSR_RESULT_FIELDS_BSE = _T("Field");
  20. // search x-ray file name
  21. const CString SMPL_MSR_RESULT_SEARCH_X_RAY_FILE = _T("SearchXray.db");
  22. // analysis x-ray file name
  23. const CString SMPL_MSR_RESULT_ANALYSIS_X_RAY_FILE = _T("Inclusion.db");
  24. // Inclusion file name
  25. const CString SMPL_MSR_RESULT_INCLUSION_FILE = _T("Inclusion.db");
  26. class __declspec(dllexport) CSmplMsrResultFile :public xmls::ISlo
  27. {
  28. public:
  29. // constructor
  30. CSmplMsrResultFile(); // constructor
  31. CSmplMsrResultFile(const CSmplMsrResultFile&); // copy constructor
  32. CSmplMsrResultFile(CSmplMsrResultFile*); // copy constructor
  33. CSmplMsrResultFile& operator=(const CSmplMsrResultFile&); // =operator
  34. BOOL operator==(const CSmplMsrResultFile&); // ==operator
  35. virtual ~CSmplMsrResultFile(); // destructor
  36. // serialization
  37. void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  38. // file version string
  39. CString GetFileVersion() { return m_strFileVersion; }
  40. void SetFileVersion(CString a_strFileVersion) { m_strFileVersion = a_strFileVersion; }
  41. // SEM sample stage
  42. CSEMStageDataPtr GetSEMStageData() { return m_pSEMStageData; }
  43. void SetSEMStageData(CSEMStageDataPtr a_pSEMStageData);
  44. // sample stage
  45. CStagePtr GetStage() { return m_pStage; }
  46. void SetStage(CStagePtr a_pStage);
  47. // SEM condition
  48. CSEMDataGnrPtr GetSEMStage() { return m_pSEMData; }
  49. void SetSEMStage(CSEMDataGnrPtr a_pSEMData);
  50. // sample setting
  51. COTSSamplePtr GetSample() { return m_pSample; }
  52. void SetSample(COTSSamplePtr a_pSample);
  53. // switch
  54. bool GetSwitch() { return m_bSwitch; }
  55. void SetSwitch(bool a_bSwitch) { m_bSwitch = a_bSwitch; }
  56. // fields
  57. COTSFieldDataList& GetFieldData() { return m_listFieldData; }
  58. void SetFieldData(COTSFieldDataList& a_listFieldData);
  59. COTSParticleList GetAllParticles();
  60. bool GetSTDMapedParticleList(std::map<std::string, COTSParticleList>* mapSameSTDPartList);
  61. protected:
  62. // cleanup
  63. void Cleanup();
  64. // initialization
  65. void Init();
  66. // duplication
  67. void Duplicate(const CSmplMsrResultFile& a_oSource);
  68. // file version string
  69. CString m_strFileVersion;
  70. // SEM sample stage
  71. CSEMStageDataPtr m_pSEMStageData;
  72. // sample stage
  73. CStagePtr m_pStage;
  74. // SEM condition??
  75. //CSEMStageDataPtr m_pSEMData;
  76. CSEMDataGnrPtr m_pSEMData;
  77. // sample setting
  78. COTSSamplePtr m_pSample;
  79. // switch
  80. BOOL m_bSwitch;
  81. // fields
  82. COTSFieldDataList m_listFieldData;
  83. };
  84. typedef std::shared_ptr<CSmplMsrResultFile> __declspec(dllexport) CSmplMsrResultFilePtr;
  85. typedef std::vector<CSmplMsrResultFilePtr> __declspec(dllexport) CSmplMsrResultFileList;
  86. }