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