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