#include "stdafx.h" #include "ConfigurerTomoMotionLimitation.h" #include "ConfigurationManager.h" using namespace DIOS::Dev::Detail::MachineryECOM; float ConfigurerTomoMotionLimitation::GetDetectorMaxPositionWall(string scanangle) { auto config = ConfigurationManager::Instance()->GetConfigTomoMotionLimitation("Tomo_Wall"); string key = "Tomo_ScanAngle_" + scanangle; float fMaxPos = 0; if (config.GetFirstOf(key.c_str()) >= 0) { auto configLimitation = config[key.c_str()]; fMaxPos = atof(configLimitation["DetectorPosition_Max"]); } return fMaxPos; } float ConfigurerTomoMotionLimitation::GetDetectorMinPositionWall(string scanangle) { auto config = ConfigurationManager::Instance()->GetConfigTomoMotionLimitation("Tomo_Wall"); string key = "Tomo_ScanAngle_" + scanangle; float fMinPos = 0; if (config.GetFirstOf(key.c_str()) >= 0) { auto configLimitation = config[key.c_str()]; fMinPos = atof(configLimitation["DetectorPosition_Min"]); } return fMinPos; } float ConfigurerTomoMotionLimitation::GetDetectorMaxPositionTable(string scanangle) { auto config = ConfigurationManager::Instance()->GetConfigTomoMotionLimitation("Tomo_Table"); string key = "Tomo_ScanAngle_" + scanangle; float fMaxPos = 0; if (config.GetFirstOf(key.c_str()) >= 0) { auto configLimitation = config[key.c_str()]; fMaxPos = atof(configLimitation["DetectorPosition_Min"]); } return fMaxPos; } float ConfigurerTomoMotionLimitation::GetDetectorMinPositionTable(string scanangle) { auto config = ConfigurationManager::Instance()->GetConfigTomoMotionLimitation("Tomo_Table"); string key = "Tomo_ScanAngle_" + scanangle; float fMinPos = 0; if (config.GetFirstOf(key.c_str()) >= 0) { auto configLimitation = config[key.c_str()]; fMinPos = atof(configLimitation["DetectorPosition_Min"]); } return fMinPos; }