00001 #include "StrobeDelayDisplayer.h"
00002 #include "DisplayManager.h"
00003 #include "DisplayInfo.h"
00004
00005 #include "SctData/StrobeDelayTestResult.h"
00006 #include "SctData/FitScanResult.h"
00007 #include "SctData/ConfigurationVariable.h"
00008
00009 #include <TCanvas.h>
00010 #include <string>
00011 #include <iomanip>
00012 #include <boost/scoped_ptr.hpp>
00013
00014 using namespace Sct;
00015 using namespace SctData;
00016 using namespace std;
00017 using namespace boost;
00018
00019 namespace SctDataDisplay {
00020
00021 bool StrobeDelayDisplayer::inMap = DisplayManager::addToMap("SctData::StrobeDelayTestResult", shared_ptr<Displayer>(new StrobeDelayDisplayer()));
00022
00023 shared_ptr<DisplayData> StrobeDelayDisplayer::display(shared_ptr<const Sct::Serializable> data, const DisplayInfo& info, std::ostream& os) {
00024 shared_ptr<const StrobeDelayTestResult> result = dynamic_pointer_cast<const StrobeDelayTestResult>(data);
00025
00026 os << "Module: " << result->getModuleName() << endl;
00027
00028
00029 os << "Defects: " << endl;
00030 printDefectList(result->getDefects(), os);
00031
00032 for (unsigned int ichip=0; ichip<result->getNOptima(); ++ichip) {
00033 os << "StrobeDelay for chip: " << ichip << " " << setprecision(2) << (int) (result->getOptimum(ichip)+0.5) << endl;
00034 }
00035
00036 return shared_ptr<DisplayData>();
00037 }
00038 }