CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalLogicalMapGenerator.h
Go to the documentation of this file.
1 #ifndef HcalLogicalMapGenerator_h
2 #define HcalLogicalMapGenerator_h
3 
5 
6 
8 
9 
10  public:
11 
14  HcalLogicalMap createMap(unsigned int mapIOV = 5);
15 
16  private:
17 
18  void buildHBEFTMap(std::vector <HBHEHFLogicalMapEntry>&,std::vector <HTLogicalMapEntry>&,std::vector <uint32_t>&,
19  std::vector <uint32_t>&,
20  std::vector <uint32_t>&,
21  std::vector <uint32_t>&,
22  std::vector <uint32_t>&);
23  void buildHOXMap (std::vector <HOHXLogicalMapEntry>& ,std::vector <uint32_t>&,
24  std::vector <uint32_t>&,
25  std::vector <uint32_t>&);
26  void buildCALIBMap(std::vector <CALIBLogicalMapEntry>& ,std::vector <uint32_t>&,
27  std::vector <uint32_t>&);
28  void buildZDCMap (std::vector <ZDCLogicalMapEntry>& ,std::vector <uint32_t>&,
29  std::vector <uint32_t>&);
31  std::vector <HTLogicalMapEntry>&,
32  int i_side, int i_eta, int i_phi, int i_dphi, int i_depth, std::string i_det, int i_wedge, int i_rm,
33  int i_pixel, int i_qie, int i_adc, int i_rm_fi, int i_fi_ch, int i_crate, int i_htr, std::string i_fpga,
34  int i_htr_fi, int i_spigot, int i_slb, std::string i_slbin, std::string i_slbin2,
35  std::string i_slnam, int i_rctcra, int i_rctcar, int i_rctcon, std::string i_rctnam, int i_fed
36  );
37 
38  unsigned int mapIOV_;
39 
40 /*****************************Constants**************************/
41 
42  static const int NHBHECR = 9; //HB HE crates
43  static const int NHTRS = 3; //Htrs 0, 1, 2 for HB HE
44  static const int NHSETS = 4; //4 sets of HB/HE htrs
45 
46  static const int NHFCR = 3; //HF crates
47 
48  static const int NHOCR = 4; //HO crates
49  static const int NHTRSHO = 4; //Htrs 0-3 for HO
50  static const int NHSETSHO = 3; //3 sets of H0 htrs
51  static const int NHOETA = 16;
52  static const int NHOPHI = 72;
53 
54  static const int NCALIBCR = 13; //CALIB crates
55 
56  static const int NZDCCAB = 9; // ZDC cables
57 
58  static const int NFBR = 8; //Fibers for htrs
59  static const int NFCH = 3; //3 Fiber channels ranging 0-2
60  static const int NTOPBOT = 2; //2 FPGAs (top/bottom)
61  static const int NRMFIBR = 6; //6 rm fibers ranging 2-7
62  static const int NRMSLOT = 4; //4 rm slots ranging 1-4
63 
64 
65 
66  //Global iterator variables
67  int i, j;
68 
69 
70  //Variables that need to be printed
75  // indexing number
76  int inum;
77  //CALIB channel function
78  int ich_type;
79  std::string subdet;
80  //ZDC channel function
81  int ix, iy, idx, idet_ch, icab;
82 
83  std::string rbx, slbin, slbin2, slnam;
84  std::string det, fpga, rctnam, letter;
85  char tempbuff[30];
86 
88  int hfcrate[NHFCR];
89  int hocrate[NHOCR];
91  int fedhfnum[NHFCR][2];
92  int fedhonum[NHOCR][2];
93  int ihslot[NHSETS];
96  int ihfphis[NHFCR];
97  int ihophis[NHOCR];
101 
104 
107 
108  const char* S_slbin_odd[8];
109  const char* S_slbin_even[8];
110  const char* rct_rackHBHE[18];
111  const char* S_slbin_7[4];
112  const char* S_slbin_3[4];
113  const char* rct_rackHF[18];
114 
115  int slb_table[29];
116  int HO_RM_table[24][16][2];
118 
120 
124  int HO_htr_fi_eta4[2][6];
125  int HO_htr_fi_eta123[2][6];
126  //static const int HO_Block3_LC[][6];
127  int HO_RM_fi_eta1to4[72][2][2];
129  std::string letterHO[NRMFIBR][NFCH][2];
130  int rmspecialeta[6][6];
131  std::string rmspeciallet_code[6][6];
132  std::string rmspecialdet[6][6];
133 
134 
135  //Associated variables
136  int hfphi;
138 
139  //For slb and rct
141  int crazy;
142 
143  //For HO
147 
148  //HO Patch panel
149 
151 
157  std::string detIDCALIB[NCALIBCR][NTOPBOT];
160 
161 };
162 
163 #endif
int ihslotho[NHSETSHO][NHTRSHO]
void buildCALIBMap(std::vector< CALIBLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &)
int ipixelHO[NRMFIBR][NFCH][2]
int nfbr_max[NCALIBCR][NTOPBOT]
int calibHOinfo[NHOCR][NTOPBOT][NFBR][2]
void buildZDCMap(std::vector< ZDCLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &)
HcalLogicalMap createMap(unsigned int mapIOV=5)
int irm_rmfiHBHE[NHTRS][NTOPBOT][NFBR][2]
void buildHOXMap(std::vector< HOHXLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &)
int ipixelHE[NRMFIBR][NFCH][NRMSLOT]
int ihfetadepth[NTOPBOT][NFBR][NFCH][2]
int irm_rmfiHF[NHTRS][NTOPBOT][NFBR][2]
void ConstructTriggerTower(std::vector< HTLogicalMapEntry > &, int i_side, int i_eta, int i_phi, int i_dphi, int i_depth, std::string i_det, int i_wedge, int i_rm, int i_pixel, int i_qie, int i_adc, int i_rm_fi, int i_fi_ch, int i_crate, int i_htr, std::string i_fpga, int i_htr_fi, int i_spigot, int i_slb, std::string i_slbin, std::string i_slbin2, std::string i_slnam, int i_rctcra, int i_rctcar, int i_rctcon, std::string i_rctnam, int i_fed)
std::string detIDCALIB[NCALIBCR][NTOPBOT]
int ipixelHB[NRMFIBR][NFCH][NRMSLOT]
void buildHBEFTMap(std::vector< HBHEHFLogicalMapEntry > &, std::vector< HTLogicalMapEntry > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &, std::vector< uint32_t > &)
int ihbheetadepth[NHTRS][NTOPBOT][NFBR][NFCH][2]
int iadcquiHBHE[NRMFIBR][NFCH][2]
std::string letterHO[NRMFIBR][NFCH][2]