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 }