MarkSpaceRatioConfigUpdater.cpp

00001 #include "MarkSpaceRatioConfigUpdater.h"
00002 #include "ConfigUpdaterManager.h"
00003 #include "../SctApiAccessException.h"
00004 #include "../SctApiCall.h"
00005 
00006 #include "Sct_SctApi/SctApi.hh"
00007 #include "Sct/SctParameters.h"
00008 #include "Sct/SctNames.h"
00009 #include "SctData/MarkSpaceRatioTestResult.h"
00010 #include "Sct/AbcdScans.h"
00011 #include "SctApi/utility.h"
00012 
00013 using namespace Sct;
00014 using namespace SctData;
00015 
00016 namespace SctCalibrationController {
00017 
00018 bool MarkSpaceRatioConfigUpdater::inMap = ConfigUpdaterManager::instance().setUpdater("SctData::MarkSpaceRatioTestResult", shared_ptr<ConfigUpdater> (new MarkSpaceRatioConfigUpdater()));
00019 
00020 void MarkSpaceRatioConfigUpdater::update(const TestResult& testresult, Sct_SctApi::SctApiIPC_ptr api) const {
00021     const MarkSpaceRatioTestResult& t = dynamic_cast<const MarkSpaceRatioTestResult&> (testresult);
00022 
00023     unsigned long mid = getMID(t, api);
00024 
00025     std::cout << "Modifying ST_TX_MARKSPACE of mid=" << mid << " to value " << (int)floor(t.getOptimum()+0.5) << std::endl;
00026     APICALL(api, modifyABCDModuleVar(mid, ST_TX_MARKSPACE, (int)floor(t.getOptimum()+0.5)), "MarkSpaceRatioConfigUpdater failed to set API")
00027 }
00028     
00029 }

Generated on Mon Feb 6 14:01:22 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6