ISNoiseOccupancySummaryWriter.cpp

00001 #include "ISNoiseOccupancySummaryData.h"
00002 #include "ISSummaryManager.h"
00003 #include "ISNoiseOccupancySummaryWriter.h"
00004 #include "Sct/ISUtilities.h"
00005 #include "Sct/SctParameters.h"
00006 
00007 #include "SctData/NoiseOccupancyTestResult.h"
00008 
00009 #include <TF1.h>
00010 
00011 #include <iomanip>
00012 
00013 namespace SctData {
00014     namespace ISTestSummary{
00015     using namespace std;
00016 
00017     void ISNoiseOccupancySummaryWriter::write(const TestResult& t) const 
00018     {
00019         const NoiseOccupancyTestResult& result  = dynamic_cast<const NoiseOccupancyTestResult&>(t);
00020 
00021         ISNoiseOccupancySummaryData summary;
00022 
00023         writeHeader(result, summary);
00024 
00025         summary.offsetByChip_size = Sct::nChipModule;
00026         summary.offsetByChip = new double[Sct::nChipModule];
00027 
00028         summary.occupancyByChip_size = Sct::nChipModule;
00029         summary.occupancyByChip = new double[Sct::nChipModule];
00030         summary.occupancyRMSByChip_size = Sct::nChipModule;
00031         summary.occupancyRMSByChip = new double[Sct::nChipModule];
00032 
00033         summary.noiseByChip_size = Sct::nChipModule;
00034         summary.noiseByChip = new double[Sct::nChipModule];
00035 
00036         for (unsigned ichip=0; ichip<nChipModule; ++ichip){
00037           const SctData::ChipNOResult& c = result.getChipResult(ichip);
00038           
00039           summary.offsetByChip[ichip] = c.offset;
00040           summary.occupancyByChip[ichip] = c.mean;
00041           summary.occupancyRMSByChip[ichip] = c.rms;
00042           summary.noiseByChip[ichip] = c.getNoise();
00043         }
00044         
00045         string name =  "ISSummaryData.ISNoiseOccupancySummaryData.";
00046         name += result.getHeader().getModuleName();
00047         
00048         // cout << " I am about to write the ISSummary " << endl;
00049         // cout << " name " << name <<endl;
00050         
00051         Sct::ISUtilities::addOrUpdateOrThrow(name,summary,__FILE__,__LINE__, MRS_WARNING );
00052         
00053     }
00054 
00055 
00056     bool ISNoiseOccupancySummaryWriter::inMap = ISSummaryManager::instance().addWriter("SctData::NoiseOccupancyTestResult", shared_ptr<ISSummaryWriter>(new ISNoiseOccupancySummaryWriter()));
00057     }
00058 }

Generated on Mon Feb 6 14:01:22 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6