00001 #ifndef HCALConfigDBTools_XMLTools_XMLRBXPedestalsLoader_h 00002 #define HCALConfigDBTools_XMLTools_XMLRBXPedestalsLoader_h 00003 // -*- C++ -*- 00004 // 00005 // Package: XMLTools 00006 // Class : XMLRBXPedestalsLoader 00007 // 00016 // 00017 // Original Author: Gena Kukartsev, kukarzev@fnal.gov 00018 // Created: Tue Nov 06 14:30:33 CDT 2007 00019 // $Id: XMLRBXPedestalsLoader.h,v 1.5 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 XMLRBXPedestalsLoader : public XMLDOMBlock 00031 { 00032 00033 public: 00034 00035 typedef struct _loaderBaseConfig 00036 { 00037 _loaderBaseConfig(); 00038 std::string extention_table_name; 00039 std::string name; 00040 std::string run_mode; 00041 std::string data_set_id; 00042 std::string iov_id; 00043 long long int iov_begin; 00044 long long int iov_end; 00045 std::string tag_id; 00046 std::string tag_mode; 00047 std::string tag_name; 00048 std::string detector_name; 00049 std::string elements_comment_description; 00050 } loaderBaseConfig; 00051 00052 typedef struct _datasetDBConfig : public XMLProcessor::DBConfig 00053 { 00054 _datasetDBConfig(); 00055 std::string comment_description; 00056 std::string name_label; 00057 std::string kind_of_part; 00058 } datasetDBConfig; 00059 00060 //XMLRBXPedestalsLoader(); 00061 XMLRBXPedestalsLoader( loaderBaseConfig * config, std::string templateBase = "HCAL_RBX_PEDESTALS_TYPE01.XMLloader.template" ); 00062 virtual ~XMLRBXPedestalsLoader(); 00063 00064 // ---------- const member functions --------------------- 00065 00066 // ---------- static member functions -------------------- 00067 00068 // ---------- member functions --------------------------- 00069 int addRBXSlot( datasetDBConfig * config, std::string brickFileName, 00070 std::string rbx_config_type = "pedestals", 00071 std::string templateFileName = "HCAL_RBX_PEDESTALS_TYPE01.dataset.template" ); // pedestals, gols, delays 00072 00073 protected: 00074 int init( void ); 00075 int fixRbxName( std::string & ); 00076 00077 MemBufInputSource * _data_ped_delay; // a container for the XML template for a single pedestal or zero delay 00078 MemBufInputSource * _data_gol; // a container for the XML template for a single gol current 00079 MemBufInputSource * _data_led; // a container for the XML template for a single led data unit 00080 00081 private: 00082 XMLRBXPedestalsLoader(const XMLRBXPedestalsLoader&); // stop default 00083 00084 const XMLRBXPedestalsLoader& operator=(const XMLRBXPedestalsLoader&); // stop default 00085 00086 // ---------- member data -------------------------------- 00087 00088 }; 00089 00090 #endif