00001 #include "SummaryManager.h"
00002 #include "NoiseOccupancySummaryWriter.h"
00003 #include "SctData/NoiseOccupancyTestResult.h"
00004 #include <TF1.h>
00005
00006 #include <iomanip>
00007
00008 namespace SctData {
00009 namespace TestSummary{
00010 using namespace std;
00011
00012 void NoiseOccupancySummaryWriter::write(const TestResult& t, ostream& out) const throw(Sct::IoError, Sct::LogicError)
00013 {
00014 t.getNScans();
00015 const NoiseOccupancyTestResult& result = dynamic_cast<const NoiseOccupancyTestResult&>(t);
00016
00017 out << "#\n%NO\n#"<<endl;
00018 out << "#MAX ICC IDD" << endl;
00019 out << std::setw(8) << 0 << std::setw(8) << 0 << endl;
00020 out << "#TYP ICC IDD" << endl;
00021 out << std::setw(8) << 0 << std::setw(8) << 0 << endl;
00022 out << "#\n# Offset MeanOcc RMSOcc EstENC"<<endl;
00023 for (unsigned ichip=0; ichip<nChipModule; ++ichip){
00024 const SctData::ChipNOResult& c = result.getChipResult(ichip);
00025 out << "#"<< getChipName(ichip) << endl;
00026 out << " "
00027 << std::setw(8) << c.offset << " "
00028 << std::setw(8) << c.mean << " "
00029 << std::setw(8) << c.rms << " "
00030 << std::setw(8) << c.getNoise() << endl;
00031 }
00032 out << "#\n";
00033 SummaryWriter::write(t.getDefects(), out);
00034 }
00035
00036
00037
00038 bool NoiseOccupancySummaryWriter::inMap = SummaryManager::instance().addWriter("SctData::NoiseOccupancyTestResult", shared_ptr<SummaryWriter>(new NoiseOccupancySummaryWriter()));
00039 }
00040 }