00001 #ifndef DQMHISTORYCREATETREND_H 00002 #define DQMHISTORYCREATETREND_H 00003 00004 #include "DQMServices/Diagnostic/interface/HDQMInspectorConfigBase.h" 00005 #include "DQMServices/Diagnostic/interface/DQMHistoryTrendsConfig.h" 00006 #include "DQMServices/Diagnostic/interface/HDQMInspector.h" 00007 00008 #include <string> 00009 #include <boost/shared_ptr.hpp> 00010 00014 class DQMHistoryCreateTrend 00015 { 00016 public: 00017 inline DQMHistoryCreateTrend(const HDQMInspectorConfigBase * HDQMconfig) { inspector_.reset(new HDQMInspector(HDQMconfig)); } 00022 void operator()(const DQMHistoryTrendsConfig & trend); 00023 inline void setDB(std::string dbName, std::string dbTag, std::string authPath = "") { 00024 inspector_->setDB(dbName, dbTag, authPath); 00025 } 00026 inline void setDebug(const int i) { 00027 inspector_->setDebug(i); 00028 } 00029 inline void setDoStat(const int i) { 00030 inspector_->setDoStat(i); 00031 } 00032 inline void setBlackList(const std::string & listItems) { 00033 inspector_->setBlackList(listItems); 00034 } 00035 inline void setWhiteList(const std::string & listItems) { 00036 inspector_->setWhiteList(listItems); 00037 } 00038 inline void setWhiteListFromFile(const std::string & listFileName) { 00039 std::cout << "Reading white list from file: " << listFileName << std::endl; 00040 inspector_->setWhiteList(inspector_->readListFromFile(listFileName)); 00041 } 00042 inline void closeFile() { 00043 inspector_->closeFile(); 00044 } 00045 inline void setSkip99s(bool const in) { 00046 inspector_->setSkip99s(in); 00047 } 00048 inline void setSkip0s(bool const in) { 00049 inspector_->setSkip0s(in); 00050 } 00051 inline void setSeparator(std::string const in) { 00052 inspector_->setSeparator(in); 00053 } 00054 00055 protected: 00056 // Do not use auto_ptr if you want to use the object with stl algorithms. 00057 boost::shared_ptr<HDQMInspector> inspector_; 00058 }; 00059 00060 #endif