00001 #ifndef HCALConfigDBTools_XMLTools_LMap_h
00002 #define HCALConfigDBTools_XMLTools_LMap_h
00003
00004
00005
00006
00007
00019
00020
00021
00022
00023
00024
00025
00026 #include<vector>
00027 #include <string.h>
00028 #include <fstream>
00029 #include <boost/shared_ptr.hpp>
00030
00031 #include "CaloOnlineTools/HcalOnlineDb/interface/ConfigurationDatabase.hh"
00032 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
00033
00034 using namespace std;
00035 using namespace boost;
00036
00037 class LMapRow
00038 {
00039 public:
00040 LMapRow(){};
00041 ~LMapRow(){};
00042
00043 int side;
00044 int eta, phi, dphi, depth;
00045
00046 HcalSubdetector det;
00047 string rbx;
00048 int wedge, rm, pixel, qie, adc, rm_fi, fi_ch;
00049 int crate, htr;
00050 string fpga;
00051 int htr_fi;
00052 int dcc_sl, spigo, dcc, slb;
00053 string slbin, slbin2, slnam;
00054 int rctcra, rctcar, rctcon;
00055 string rctnam;
00056 int fedid;
00057
00058 string let_code;
00059
00060 private:
00061
00062 };
00063
00064 class LMapDetId
00065 {
00066 public:
00067 LMapDetId(){};
00068 ~LMapDetId(){};
00069
00070 int side;
00071 int eta, phi, depth;
00072 string subdetector;
00073
00074 };
00075
00076 class LMap
00077 {
00078
00079 public:
00080
00081 LMap();
00082 ~LMap();
00083
00084
00085 int read( string accessor, string type = "HBEF" );
00086 std::map<int,LMapRow> & get_map( void );
00087
00088 private:
00089 class impl;
00090 shared_ptr<impl> p_impl;
00091 };
00092
00093
00094 class LMap_test {
00095 public:
00096 LMap_test();
00097 ~LMap_test(){ }
00098
00099 int test_read( string accessor, string type="HBEF" );
00100
00101 private:
00102 shared_ptr<LMap> _lmap;
00103 };
00104
00105 #endif