ConfigurerTomoMotionLimitation.cpp 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #include "stdafx.h"
  2. #include "ConfigurerTomoMotionLimitation.h"
  3. #include "ConfigurationManager.h"
  4. using namespace DIOS::Dev::Detail::MachineryECOM;
  5. float ConfigurerTomoMotionLimitation::GetDetectorMaxPositionWall(string scanangle)
  6. {
  7. auto config = ConfigurationManager::Instance()->GetConfigTomoMotionLimitation("Tomo_Wall");
  8. string key = "Tomo_ScanAngle_" + scanangle;
  9. float fMaxPos = 0;
  10. if (config.GetFirstOf(key.c_str()) >= 0)
  11. {
  12. auto configLimitation = config[key.c_str()];
  13. fMaxPos = atof(configLimitation["DetectorPosition_Max"]);
  14. }
  15. return fMaxPos;
  16. }
  17. float ConfigurerTomoMotionLimitation::GetDetectorMinPositionWall(string scanangle)
  18. {
  19. auto config = ConfigurationManager::Instance()->GetConfigTomoMotionLimitation("Tomo_Wall");
  20. string key = "Tomo_ScanAngle_" + scanangle;
  21. float fMinPos = 0;
  22. if (config.GetFirstOf(key.c_str()) >= 0)
  23. {
  24. auto configLimitation = config[key.c_str()];
  25. fMinPos = atof(configLimitation["DetectorPosition_Min"]);
  26. }
  27. return fMinPos;
  28. }
  29. float ConfigurerTomoMotionLimitation::GetDetectorMaxPositionTable(string scanangle)
  30. {
  31. auto config = ConfigurationManager::Instance()->GetConfigTomoMotionLimitation("Tomo_Table");
  32. string key = "Tomo_ScanAngle_" + scanangle;
  33. float fMaxPos = 0;
  34. if (config.GetFirstOf(key.c_str()) >= 0)
  35. {
  36. auto configLimitation = config[key.c_str()];
  37. fMaxPos = atof(configLimitation["DetectorPosition_Min"]);
  38. }
  39. return fMaxPos;
  40. }
  41. float ConfigurerTomoMotionLimitation::GetDetectorMinPositionTable(string scanangle)
  42. {
  43. auto config = ConfigurationManager::Instance()->GetConfigTomoMotionLimitation("Tomo_Table");
  44. string key = "Tomo_ScanAngle_" + scanangle;
  45. float fMinPos = 0;
  46. if (config.GetFirstOf(key.c_str()) >= 0)
  47. {
  48. auto configLimitation = config[key.c_str()];
  49. fMinPos = atof(configLimitation["DetectorPosition_Min"]);
  50. }
  51. return fMinPos;
  52. }