00001 #ifndef HCALConfigDBTools_XMLTools_HcalHardwareXml_h 00002 #define HCALConfigDBTools_XMLTools_HcalHardwareXml_h 00003 // -*- C++ -*- 00004 // 00005 // Package: XMLTools 00006 // Class : HcalHardwareXml 00007 // Original Author: Gena Kukartsev, kukarzev@fnal.gov 00008 // 00018 #include <map> 00019 00020 #include "CaloOnlineTools/HcalOnlineDb/interface/XMLDOMBlock.h" 00021 #include "CaloOnlineTools/HcalOnlineDb/interface/XMLProcessor.h" 00022 00023 using namespace std; 00024 00025 typedef struct _HcalPart 00026 { 00027 _HcalPart(){ mode=""; kind_of_part=""; name_label=""; barcode=""; comment=""; attr_name=""; attr_value=""; }; 00028 string mode; 00029 string kind_of_part; 00030 string name_label; 00031 string barcode; 00032 string comment; 00033 string attr_name; 00034 string attr_value; 00035 } HcalPart; 00036 00037 00038 00039 class HcalHardwareXml : public XMLDOMBlock 00040 { 00041 00042 public: 00043 00044 HcalHardwareXml(); 00045 HcalHardwareXml( std::string _type ); 00046 virtual ~HcalHardwareXml(); 00047 00048 int addHardware( std::map<string,map<string,map<string,map<int,string> > > > & hw_map ); 00049 00050 private: 00051 00052 HcalHardwareXml(const HcalHardwareXml&); // stop default 00053 const HcalHardwareXml& operator=(const HcalHardwareXml&); // stop default 00054 00055 DOMElement * addPart( DOMElement * parent, HcalPart & part ); 00056 00057 DOMElement * partsElem; 00058 00059 //hw_map["rbx_slot"]["rbx"]["rm"][qie_slot]="qie"; 00060 //std::map<string,map<string,map<string,map<int,string> > > > hw_map; 00061 00062 }; 00063 00064 00065 #endif