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.2 2008/03/07 02:49:13 kukartse Exp $ 00020 // 00021 00022 // system include files 00023 00024 // user include files 00025 #include "CaloOnlineTools/HcalOnlineDb/interface/XMLDOMBlock.h" 00026 #include "CaloOnlineTools/HcalOnlineDb/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 string extention_table_name; 00039 string name; 00040 string run_mode; 00041 string data_set_id; 00042 string iov_id; 00043 long long int iov_begin; 00044 long long int iov_end; 00045 string tag_id; 00046 string tag_mode; 00047 string tag_name; 00048 string detector_name; 00049 string elements_comment_description; 00050 } loaderBaseConfig; 00051 00052 typedef struct _datasetDBConfig : public XMLProcessor::DBConfig 00053 { 00054 _datasetDBConfig(); 00055 string comment_description; 00056 string name_label; 00057 string kind_of_part; 00058 } datasetDBConfig; 00059 00060 //XMLRBXPedestalsLoader(); 00061 XMLRBXPedestalsLoader( loaderBaseConfig * config, 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, string brickFileName, 00070 string rbx_config_type = "pedestals", 00071 string templateFileName = "HCAL_RBX_PEDESTALS_TYPE01.dataset.template" ); // pedestals, gols, delays 00072 00073 protected: 00074 int init( void ); 00075 int fixRbxName( 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 00080 private: 00081 XMLRBXPedestalsLoader(const XMLRBXPedestalsLoader&); // stop default 00082 00083 const XMLRBXPedestalsLoader& operator=(const XMLRBXPedestalsLoader&); // stop default 00084 00085 // ---------- member data -------------------------------- 00086 00087 }; 00088 00089 #endif