00001 #ifndef CaloOnlineTools_HcalOnlineDb_LutXml_h
00002 #define CaloOnlineTools_HcalOnlineDb_LutXml_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022 #include <vector>
00023 #include "CaloOnlineTools/HcalOnlineDb/interface/XMLDOMBlock.h"
00024
00025
00026
00027
00028 class LutXml : public XMLDOMBlock
00029 {
00030
00031 public:
00032
00033 typedef struct _Config
00034 {
00035 _Config();
00036 int ieta, iphi, depth, crate, slot, topbottom, fiber, fiberchan, lut_type;
00037 string creationtag;
00038 string creationstamp;
00039 string formatrevision;
00040 string targetfirmware;
00041 int generalizedindex;
00042 std::vector<unsigned int> lut;
00043 } Config;
00044
00045 LutXml();
00046 virtual ~LutXml();
00047
00048 void init( void );
00049 void addLut( Config & _config );
00050 std::string & getCurrentBrick( void );
00051
00052 protected:
00053
00054 DOMElement * addParameter( string _name, string _type, string _value );
00055 DOMElement * addParameter( string _name, string _type, int _value );
00056 DOMElement * addData( string _elements, string _encoding, std::vector<unsigned int> _lut );
00057
00058 DOMElement * brickElem;
00059
00060 };
00061
00062
00063 #endif