CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/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 #include <vector>
00007 class HcalTopology;
00008 
00009 class HcalLogicalMap {
00010   public:
00011          
00012   HcalLogicalMap(const HcalTopology*,
00013                    std::vector<HBHEHFLogicalMapEntry>&,
00014                    std::vector<HOHXLogicalMapEntry>&,
00015                    std::vector<CALIBLogicalMapEntry>&,
00016                    std::vector<ZDCLogicalMapEntry>&,
00017                    std::vector<HTLogicalMapEntry>&,
00018                    std::vector<uint32_t>&,
00019                    std::vector<uint32_t>&,
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 
00027     ~HcalLogicalMap( );
00028 
00029     void checkHashIds();
00030     void checkElectronicsHashIds() ;
00031     void checkIdFunctions();
00032     void printMap( unsigned int mapIOV );
00033     HcalElectronicsMap generateHcalElectronicsMap();
00034     const DetId getDetId(const HcalElectronicsId&);
00035     const HcalFrontEndId getHcalFrontEndId(const DetId&);
00036     uint32_t static makeEntryNumber(bool,int,int);
00037 
00038   private:
00039 
00040     void printHBEFMap(  FILE* hbefmapfile );
00041     void printHOXMap(   FILE* hoxmapfile );
00042     void printCalibMap( FILE* calibmapfile );
00043     void printZDCMap(   FILE* zdcmapfile );
00044     void printHTMap(    FILE* htmapfile );
00045 
00046     unsigned int mapIOV_;
00047 
00048     std::vector<HBHEHFLogicalMapEntry> HBHEHFEntries_;
00049     std::vector<HOHXLogicalMapEntry>   HOHXEntries_;
00050     std::vector<CALIBLogicalMapEntry>  CALIBEntries_;
00051     std::vector<ZDCLogicalMapEntry>    ZDCEntries_;
00052     std::vector<HTLogicalMapEntry>     HTEntries_;
00053     std::vector<uint32_t> LinearIndex2Entry_;
00054     std::vector<uint32_t> HbHash2Entry_;
00055     std::vector<uint32_t> HeHash2Entry_;
00056     std::vector<uint32_t> HfHash2Entry_;
00057     std::vector<uint32_t> HtHash2Entry_;
00058     std::vector<uint32_t> HoHash2Entry_;
00059     std::vector<uint32_t> HxCalibHash2Entry_;
00060     std::vector<uint32_t> ZdcHash2Entry_;
00061 
00062     const HcalTopology* topo_;
00063 };
00064 
00065 #endif