CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/src/CondFormats/HcalObjects/interface/HcalLogicalMap.h

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