CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/DQMServices/Core/interface/QReport.h

Go to the documentation of this file.
00001 #ifndef DQMSERVICES_CORE_Q_REPORT_H
00002 # define DQMSERVICES_CORE_Q_REPORT_H
00003 
00004 # include "DQMServices/Core/interface/DQMDefinitions.h"
00005 # include "DQMServices/Core/interface/DQMNet.h"
00006 # include <vector>
00007 # include <string>
00008 
00009 class QCriterion;
00010 
00012 class QReport
00013 {
00014 public:
00016   int getStatus(void) const
00017     { return qvalue_->code; }
00018 
00020   float getQTresult(void) const
00021     { return qvalue_->qtresult; }
00022 
00024   const std::string &getMessage(void) const
00025     { return qvalue_->message; }
00026 
00028   const std::string &getQRName(void) const
00029     { return qvalue_->qtname; }
00030 
00033   const std::vector<DQMChannel> &getBadChannels(void) const
00034     { return badChannels_; }
00035 
00037   const QCriterion *getQCriterion(void) const
00038     { return qcriterion_; }
00039 
00040 private:
00041   friend class QCriterion;
00042   friend class MonitorElement;  // for running the quality test
00043   friend class DQMStore;        // for setting QReport parameters after receiving report
00044 
00045   QReport(DQMNet::QValue *value, QCriterion *qc)
00046     : qvalue_ (value),
00047       qcriterion_ (qc)
00048     {}
00049 
00050   DQMNet::QValue          *qvalue_;     //< Pointer to the actual data.
00051   QCriterion              *qcriterion_; //< Pointer to QCriterion algorithm.
00052   std::vector<DQMChannel> badChannels_; //< Bad channels from QCriterion.
00053 }; 
00054 
00055 #endif // DQMSERVICES_CORE_Q_REPORT_H