00001 #ifndef HCALConfigDBTools_XMLTools_XMLHTRPatternLoader_h 00002 #define HCALConfigDBTools_XMLTools_XMLHTRPatternLoader_h 00003 // -*- C++ -*- 00004 // 00005 // Package: XMLTools 00006 // Class : XMLHTRPatternLoader 00007 // 00016 // 00017 // Original Author: Gena Kukartsev, kukarzev@fnal.gov 00018 // Created: Tue Oct 23 14:30:33 CDT 2007 00019 // $Id: XMLHTRPatternLoader.h,v 1.3 2010/08/06 20:24:10 wmtan Exp $ 00020 // 00021 00022 // system include files 00023 00024 // user include files 00025 #include "CalibCalorimetry/HcalTPGAlgos/interface/XMLDOMBlock.h" 00026 #include "CalibCalorimetry/HcalTPGAlgos/interface/XMLProcessor.h" 00027 00028 // forward declarations 00029 00030 class XMLHTRPatternLoader : public XMLDOMBlock 00031 { 00032 00033 public: 00034 00035 typedef struct _loaderBaseConfig : public XMLProcessor::loaderBaseConfig 00036 { 00037 _loaderBaseConfig(); 00038 } loaderBaseConfig; 00039 00040 typedef struct _datasetDBConfig : public XMLProcessor::DBConfig 00041 { 00042 _datasetDBConfig(); 00043 std::string kind_of_part; 00044 std::string name_label; 00045 std::string htr_data_patterns_data_file; 00046 int crate; 00047 } datasetDBConfig; 00048 00049 typedef struct _checksumsDBConfig : public XMLProcessor::DBConfig 00050 { 00051 _checksumsDBConfig(); 00052 std::string comment_description; 00053 std::string name_label; 00054 std::string htr_data_patterns_data_file; 00055 int crate; 00056 } checksumsDBConfig; 00057 00058 XMLHTRPatternLoader(); 00059 XMLHTRPatternLoader( XMLProcessor::loaderBaseConfig * config, std::string templateBase = "HCAL_HTR_DATA_PATTERNS.XMLloader.template" ); 00060 virtual ~XMLHTRPatternLoader(); 00061 00062 // ---------- const member functions --------------------- 00063 00064 // ---------- static member functions -------------------- 00065 00066 // ---------- member functions --------------------------- 00067 int addPattern( datasetDBConfig * config, 00068 std::string templateFileName = "HCAL_HTR_DATA_PATTERNS.dataset.template" ); 00069 00070 int addChecksums( checksumsDBConfig * config, 00071 std::string templateFileName = "HCAL_HTR_DATA_PATTERNS.checksums.template" ); 00072 00073 int createLoader( std::vector<int> crate_number, std::vector<std::string> file_name ); 00074 00075 private: 00076 XMLHTRPatternLoader(const XMLHTRPatternLoader&); // stop default 00077 00078 const XMLHTRPatternLoader& operator=(const XMLHTRPatternLoader&); // stop default 00079 00080 // ---------- member data -------------------------------- 00081 00082 }; 00083 00084 00085 #endif