00001 #ifndef HCALConfigDBTools_XMLTools_XMLLUTLoader_h 00002 #define HCALConfigDBTools_XMLTools_XMLLUTLoader_h 00003 // -*- C++ -*- 00004 // 00005 // Package: XMLTools 00006 // Class : XMLLUTLoader 00007 // 00016 // 00017 // Original Author: Gena Kukartsev, kukarzev@fnal.gov 00018 // Created: Tue Oct 23 14:30:33 CDT 2007 00019 // $Id: XMLLUTLoader.h,v 1.4 2010/08/06 20:24:11 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 XMLLUTLoader : public XMLDOMBlock 00031 { 00032 00033 public: 00034 00035 typedef struct _loaderBaseConfig : public XMLProcessor::loaderBaseConfig 00036 { 00037 00038 } loaderBaseConfig; 00039 00040 typedef struct _lutDBConfig : public XMLProcessor::DBConfig 00041 { 00042 _lutDBConfig(); 00043 std::string kind_of_part; 00044 std::string name_label; 00045 std::string trig_prim_lookuptbl_data_file; 00046 int crate; 00047 } lutDBConfig; 00048 00049 typedef struct _checksumsDBConfig : public XMLProcessor::DBConfig 00050 { 00051 _checksumsDBConfig(); 00052 std::string comment_description; 00053 std::string name_label; 00054 std::string trig_prim_lookuptbl_data_file; 00055 int crate; 00056 } checksumsDBConfig; 00057 00058 XMLLUTLoader(); 00059 XMLLUTLoader( XMLProcessor::loaderBaseConfig * config, std::string templateBase = "HCAL_TRIG_PRIM_LOOKUP_TABLE.XMLloader.template" ); 00060 virtual ~XMLLUTLoader(); 00061 00062 int addLUT( lutDBConfig * config, 00063 std::string templateFileName = "HCAL_TRIG_PRIM_LOOKUP_TABLE.dataset.template" ); 00064 00065 int addChecksums( checksumsDBConfig * config, 00066 std::string templateFileName = "HCAL_TRIG_PRIM_LOOKUP_TABLE.checksums.template" ); 00067 00068 int createLoader( std::vector<int> crate_number, std::vector<std::string> file_name ); 00069 00070 private: 00071 XMLLUTLoader(const XMLLUTLoader&); // stop default 00072 00073 const XMLLUTLoader& operator=(const XMLLUTLoader&); // stop default 00074 00075 00076 }; 00077 00078 00079 #endif