00001 #include "SummaryManager.h"
00002 #include "StrobeDelaySummaryWriter.h"
00003 #include "SctData/StrobeDelayTestResult.h"
00004
00005 namespace SctData {
00006 namespace TestSummary{
00007 using namespace std;
00008
00009 void StrobeDelaySummaryWriter::write(const TestResult& t, ostream& out) const throw(Sct::IoError, Sct::LogicError)
00010 {
00011 const StrobeDelayTestResult& result = dynamic_cast<const StrobeDelayTestResult&>(t);
00012
00013 out << "#\n%StrobeDelay\n#\n#DELAY\n#";
00014 for (unsigned ichip=0; ichip<nChipLink; ++ichip){
00015 out << getChipName(ichip) << " ";
00016 }
00017 out << endl;
00018 for (unsigned ichip=0; ichip<nChipLink; ++ichip){
00019 out << static_cast<int>(floor( result.getOptimum(ichip) + 0.5)) << " ";
00020 }
00021
00022 out << "\n#";
00023 for (unsigned ichip=nChipLink; ichip<nChipModule; ++ichip){
00024 out << getChipName(ichip) << " ";
00025 }
00026 out << endl;
00027 for (unsigned ichip=nChipLink; ichip<nChipModule; ++ichip){
00028 out << static_cast<int>(floor( result.getOptimum(ichip) + 0.5)) << " ";
00029 }
00030 out << "\n#" << endl;
00031
00032 SummaryWriter::write(result.getDefects(), out);
00033
00034 }
00035
00036 bool StrobeDelaySummaryWriter::inMap = SummaryManager::instance().addWriter("SctData::StrobeDelayTestResult", shared_ptr<SummaryWriter>(new StrobeDelaySummaryWriter()));
00037 }
00038 }