00001 #ifndef HcalLutManager_h 00002 #define HcalLutManager_h 00003 00012 #include <iostream> 00013 #include <string> 00014 #include <vector> 00015 #include <map> 00016 #include "CaloOnlineTools/HcalOnlineDb/interface/LutXml.h" 00017 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h" 00018 00019 class XMLDOMBlock; 00020 00021 class HcalLutSet{ 00022 public: 00023 string label; 00024 std::vector<string> subdet; 00025 std::vector<int> eta_min, eta_max, phi_min, phi_max, depth_min, depth_max; 00026 std::vector<vector<unsigned int> > lut; 00027 }; 00028 00029 00030 00031 class HcalLutManager{ 00032 public: 00033 00034 HcalLutManager( ); 00035 ~HcalLutManager( ); 00036 00037 void init( void ); 00038 std::string & getLutXml( std::vector<unsigned int> & _lut ); 00039 std::string getLutXmlFromAsciiMaster( string _filename, string _tag, int _crate, bool split_by_crate = true ); 00040 HcalLutSet getLutSetFromFile( string _filename ); 00041 00042 static int getInt( string number ); 00043 static HcalSubdetector get_subdetector( string _subdet ); 00044 static string get_time_stamp( time_t _time ); 00045 00046 protected: 00047 00048 LutXml * lut_xml; 00049 00050 }; 00051 00052 00053 class HcalLutManager_test{ 00054 public: 00055 00056 static int getLutXml_test( std::vector<unsigned int> & _lut ){} 00057 static int getLutSetFromFile_test( string _filename ); 00058 00059 static int getInt_test( string number ); 00060 00061 protected: 00062 00063 LutXml * lut_xml; 00064 00065 }; 00066 #endif