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