00001 #include "RxThresholdBasedOnConfigRegisterSummaryWriter.h"
00002 #include "SctData/RxThresholdBasedOnConfigRegisterTestResult.h"
00003 #include "SummaryManager.h"
00004 #include <iomanip>
00005
00006 using std::ios;
00007 using std::endl;
00008 using std::setprecision;
00009
00010 namespace SctData {
00011 namespace TestSummary{
00012 void RxThresholdBasedOnConfigRegisterSummaryWriter::write(const TestResult& t, std::ostream& out) const throw(Sct::IoError, Sct::LogicError)
00013 {
00014 const RxThresholdBasedOnConfigRegisterTestResult& result = dynamic_cast<const RxThresholdBasedOnConfigRegisterTestResult&>(t);
00015 out << ios::fixed;
00016
00017 out << "#\n%RxThresholdBasedOnConfigRegisterTest\n#\n";
00018
00019 out << endl;
00020 for (unsigned ilink=0; ilink<nLinkModule; ++ilink){
00021 out << "# Link number " << ilink << "\n";
00022 out << "#\n";
00023 out << "# MinErrorFreeRxThresh " << setprecision(3) << result.getStreamResult(ilink).minErrorFreeRxThresh() << "\t";
00024 out << "MaxErrorFreeRxThresh " << setprecision(3) << result.getStreamResult(ilink).maxErrorFreeRxThresh() << "\t";
00025 out << "BestRxThresh " << setprecision(3) << result.getStreamResult(ilink).bestRxThresh() << "\t";
00026 out << "RiseTime " << setprecision(3) <<result.getStreamResult(ilink).getRiseTime() << "\n#\n";
00027 }
00028 out << "\n#\n#";
00029 out << "\n#" << endl;
00030
00031 SummaryWriter::write(t.getDefects(), out);
00032 }
00033
00034 bool RxThresholdBasedOnConfigRegisterSummaryWriter::inMap = SummaryManager::instance().addWriter("SctData::RxThresholdBasedOnConfigRegisterTestResult", shared_ptr<SummaryWriter>(new RxThresholdBasedOnConfigRegisterSummaryWriter()));
00035 }
00036 }