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 }