00001 #include "TimeWalkSummaryWriter.h"
00002 #include "SctData/TimeWalkTestResult.h"
00003 #include "SummaryManager.h"
00004 #include "SctData/ModuleDefect.h"
00005 #include <iomanip>
00006
00007 namespace SctData {
00008 namespace TestSummary{
00009 void TimeWalkSummaryWriter::write(const TestResult& t, std::ostream& out) const throw(Sct::IoError, Sct::LogicError)
00010 {
00011 const TimeWalkTestResult& result = dynamic_cast<const TimeWalkTestResult&>(t);
00012 out << ios::fixed;
00013
00014 out << "#\n%TimeWalkTest\n#\n";
00015
00016 out << "#\n#TW\n#\n#";
00017 for (unsigned ichip=0; ichip<nChipLink; ichip+=1){
00018 out << getChipName(ichip) << "\t";
00019 }
00020 out << endl;
00021 for (unsigned ichip=0; ichip<nChipLink; ichip+=1){
00022 out << setprecision(3) << result.getChipResult(ichip).timewalk << "\t";
00023 }
00024 out << "\n#\n#";
00025 for (unsigned ichip=nChipLink; ichip<nChipModule; ichip+=1){
00026 out << getChipName(ichip) << "\t";
00027 }
00028 out << endl;
00029 for (unsigned ichip=nChipLink; ichip<nChipModule; ichip+=1){
00030 out << setprecision(3) << result.getChipResult(ichip).timewalk << "\t";
00031 }
00032 out << "\n#\n#TCAL\n#";
00033 for (unsigned ichip=0; ichip<nChipLink; ichip+=1){
00034 out << getChipName(ichip) << "\t";
00035 }
00036 out << endl;
00037 for (unsigned ichip=0; ichip<nChipLink; ichip+=1){
00038 out << setprecision(3) << result.getChipResult(ichip).calibration << "\t";
00039 }
00040 out << "\n#\n#";
00041 for (unsigned ichip=nChipLink; ichip<nChipModule; ichip+=1){
00042 out << getChipName(ichip) << "\t";
00043 }
00044 out << endl;
00045 for (unsigned ichip=nChipLink; ichip<nChipModule; ichip+=1){
00046 out << setprecision(3) << result.getChipResult(ichip).calibration << "\t";
00047 }
00048 out << "\n#" << endl;
00049
00050 SummaryWriter::write(t.getDefects(), out);
00051 }
00052
00053 bool TimeWalkSummaryWriter::inMap = SummaryManager::instance().addWriter("SctData::TimeWalkTestResult", shared_ptr<SummaryWriter>(new TimeWalkSummaryWriter()));
00054 }
00055 }