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 }