Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

TrimRangeSummaryWriter.cpp

Go to the documentation of this file.
00001 #include "SummaryManager.h"
00002 #include "TrimRangeSummaryWriter.h"
00003 
00004 #include "SctData/TrimRangeTestResult.h"
00005 #include "SctData/ResponseCurve.h"
00006 #include "SctData/Stat.h"
00007 
00008 #include <iomanip>
00009 #include <TF1.h>
00010 
00011 namespace SctData {
00012     namespace TestSummary{
00013     using namespace std;
00014 
00015     void TrimRangeSummaryWriter::write(const TestResult& t, ostream& out) const throw(Sct::IoError, Sct::LogicError)
00016     {
00017         const TrimRangeTestResult& result  = dynamic_cast<const TrimRangeTestResult&>(t);
00018         
00019         out << "#\n%Trim\n#\n"
00020         << "TRIM   CHARGE   TYPE   ALGORITHM" << endl;
00021         out << "     " << setw(6) << result.charge 
00022         << " " << setw(6) << result.type 
00023         << " " << setw(6) << result.algorithm << endl;
00024         out << "#\n#\n"
00025         << "    range     target   ntrim     vt50    vt50rms    tr_off   off_rms  tr_step   step_rms"<<endl;
00026         for (unsigned ichip=0; ichip<nChipModule; ++ichip){
00027         out << "#"<<getChipName(ichip) << endl;
00028         out << setw(6) << "  " << result.chipTrim[ichip]->range                              // range
00029             << setw(6) << "  " << result.chipTrim[ichip]->target                             // target
00030             << setw(6) << "  " << result.chipTrim[ichip]->channelTrim.n()                    // ntrim
00031             << setw(6) << "  " << result.chipTrim[ichip]->channelTrim.mean().vthr            // vt50 mean
00032             << setw(6) << "  " << sqrt ( result.chipTrim[ichip]->channelTrim.var().vthr )    // vt50 rms
00033             << setw(6) << "  " << result.chipTrimData[ichip]->getOffsets().mean()            // mean offset
00034             << setw(6) << "  " << sqrt ( result.chipTrimData[ichip]->getOffsets().var() )    // rms offset
00035             << setw(6) << "  " << result.chipTrimData[ichip]->getSteps().mean()              // mean step
00036             << setw(6) << "  " << sqrt ( result.chipTrimData[ichip]->getSteps().var() )      // rms step
00037             << endl;
00038         }
00039 
00040         SummaryWriter::write(t.getDefects(), out);
00041     }
00042 
00043     //------------------------------------------------------
00044 
00045     bool TrimRangeSummaryWriter::inMap = SummaryManager::instance().addWriter("SctData::TrimRangeTestResult", shared_ptr<SummaryWriter>(new TrimRangeSummaryWriter()));
00046     }
00047 }

Generated on Mon Dec 15 19:36:22 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3