Go to the documentation of this file.00001 #ifndef HcalLogicalMap_h
00002 #define HcalLogicalMap_h
00003
00004 #include "CondFormats/HcalObjects/interface/HcalMappingEntry.h"
00005 #include "CondFormats/HcalObjects/interface/HcalElectronicsMap.h"
00006
00007 #include <vector>
00008
00009
00010 class HcalLogicalMap {
00011
00012
00013 public:
00014
00015 HcalLogicalMap(std::vector<HBHEHFLogicalMapEntry>&,
00016 std::vector<HOHXLogicalMapEntry>&,
00017 std::vector<CALIBLogicalMapEntry>&,
00018 std::vector<ZDCLogicalMapEntry>&,
00019 std::vector<HTLogicalMapEntry>&,
00020 std::vector<uint32_t>&,
00021 std::vector<uint32_t>&,
00022 std::vector<uint32_t>&,
00023 std::vector<uint32_t>&,
00024 std::vector<uint32_t>&,
00025 std::vector<uint32_t>&,
00026 std::vector<uint32_t>&,
00027 std::vector<uint32_t>&);
00028
00029 ~HcalLogicalMap( );
00030
00031 void checkHashIds();
00032 void checkElectronicsHashIds() ;
00033 void checkIdFunctions();
00034 void printMap( unsigned int mapIOV );
00035 HcalElectronicsMap generateHcalElectronicsMap();
00036 const DetId getDetId(const HcalElectronicsId&);
00037 const HcalFrontEndId getHcalFrontEndId(const DetId&);
00038 uint32_t static makeEntryNumber(bool,int,int);
00039
00040 private:
00041
00042 void printHBEFMap( FILE* hbefmapfile );
00043 void printHOXMap( FILE* hoxmapfile );
00044 void printCalibMap( FILE* calibmapfile );
00045 void printZDCMap( FILE* zdcmapfile );
00046 void printHTMap( FILE* htmapfile );
00047
00048 unsigned int mapIOV_;
00049
00050 std::vector<HBHEHFLogicalMapEntry> HBHEHFEntries_;
00051 std::vector<HOHXLogicalMapEntry> HOHXEntries_;
00052 std::vector<CALIBLogicalMapEntry> CALIBEntries_;
00053 std::vector<ZDCLogicalMapEntry> ZDCEntries_;
00054 std::vector<HTLogicalMapEntry> HTEntries_;
00055 std::vector<uint32_t> LinearIndex2Entry_;
00056 std::vector<uint32_t> HbHash2Entry_;
00057 std::vector<uint32_t> HeHash2Entry_;
00058 std::vector<uint32_t> HfHash2Entry_;
00059 std::vector<uint32_t> HtHash2Entry_;
00060 std::vector<uint32_t> HoHash2Entry_;
00061 std::vector<uint32_t> HxCalibHash2Entry_;
00062 std::vector<uint32_t> ZdcHash2Entry_;
00063 };
00064
00065 #endif