CMS 3D CMS Logo

HcalLogicalMap.h
Go to the documentation of this file.
1 #ifndef HcalLogicalMap_h
2 #define HcalLogicalMap_h
3 
6 
7 #include <vector>
8 #include <memory>
9 
10 class HcalTopology;
11 
13 public:
15  std::vector<HBHEHFLogicalMapEntry>&,
16  std::vector<HOHXLogicalMapEntry>&,
17  std::vector<CALIBLogicalMapEntry>&,
18  std::vector<ZDCLogicalMapEntry>&,
19  std::vector<HTLogicalMapEntry>&,
20  std::vector<uint32_t>&,
21  std::vector<uint32_t>&,
22  std::vector<uint32_t>&,
23  std::vector<uint32_t>&,
24  std::vector<uint32_t>&,
25  std::vector<uint32_t>&,
26  std::vector<uint32_t>&,
27  std::vector<uint32_t>&);
28 
30 
31  void checkHashIds();
33  void checkIdFunctions();
34  void printMap(unsigned int mapIOV);
35  std::unique_ptr<HcalElectronicsMap> generateHcalElectronicsMap();
36  const DetId getDetId(const HcalElectronicsId&);
38  uint32_t static makeEntryNumber(bool, int, int);
39 
40 private:
41  void printHBEFMap(FILE* hbefmapfile);
42  void printHOXMap(FILE* hoxmapfile);
43  void printCalibMap(FILE* calibmapfile);
44  void printZDCMap(FILE* zdcmapfile);
45  void printHTMap(FILE* htmapfile);
46 
47  unsigned int mapIOV_;
48 
49  std::vector<HBHEHFLogicalMapEntry> HBHEHFEntries_;
50  std::vector<HOHXLogicalMapEntry> HOHXEntries_;
51  std::vector<CALIBLogicalMapEntry> CALIBEntries_;
52  std::vector<ZDCLogicalMapEntry> ZDCEntries_;
53  std::vector<HTLogicalMapEntry> HTEntries_;
54  std::vector<uint32_t> LinearIndex2Entry_;
55  std::vector<uint32_t> HbHash2Entry_;
56  std::vector<uint32_t> HeHash2Entry_;
57  std::vector<uint32_t> HfHash2Entry_;
58  std::vector<uint32_t> HtHash2Entry_;
59  std::vector<uint32_t> HoHash2Entry_;
60  std::vector<uint32_t> HxCalibHash2Entry_;
61  std::vector<uint32_t> ZdcHash2Entry_;
62 
64 };
65 
66 #endif
static uint32_t makeEntryNumber(bool, int, int)
void printCalibMap(FILE *calibmapfile)
std::vector< uint32_t > HeHash2Entry_
std::unique_ptr< HcalElectronicsMap > generateHcalElectronicsMap()
void printHTMap(FILE *htmapfile)
std::vector< HBHEHFLogicalMapEntry > HBHEHFEntries_
void printHOXMap(FILE *hoxmapfile)
void printZDCMap(FILE *zdcmapfile)
std::vector< uint32_t > HbHash2Entry_
std::vector< uint32_t > LinearIndex2Entry_
std::vector< uint32_t > HoHash2Entry_
std::vector< uint32_t > ZdcHash2Entry_
const HcalTopology * topo_
unsigned int mapIOV_
void checkElectronicsHashIds()
std::vector< HTLogicalMapEntry > HTEntries_
void printMap(unsigned int mapIOV)
const HcalFrontEndId getHcalFrontEndId(const DetId &)
Definition: DetId.h:17
std::vector< HOHXLogicalMapEntry > HOHXEntries_
void printHBEFMap(FILE *hbefmapfile)
std::vector< uint32_t > HtHash2Entry_
std::vector< CALIBLogicalMapEntry > CALIBEntries_
const DetId getDetId(const HcalElectronicsId &)
std::vector< ZDCLogicalMapEntry > ZDCEntries_
std::vector< uint32_t > HxCalibHash2Entry_
std::vector< uint32_t > HfHash2Entry_
Readout chain identification for Hcal.
HcalLogicalMap(const HcalTopology *, std::vector< HBHEHFLogicalMapEntry > &, std::vector< HOHXLogicalMapEntry > &, std::vector< CALIBLogicalMapEntry > &, std::vector< ZDCLogicalMapEntry > &, std::vector< HTLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &)