Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:44:51

0001 #ifndef ZdcLut_h
0002 #define ZdcLut_h
0003 
0004 /**
0005 
0006    \class ZdcLut
0007    \brief Generation of ZDC Lookup tables and associate helper methods
0008    \brief Adopted to CMSSW HCAL LUT manager specs
0009    \brief by Gena Kukartsev, Brown University, Dec 08, 2009
0010    \author Elijah Dunn
0011 
0012 */
0013 
0014 #include <iostream>
0015 #include <vector>
0016 #include <string>
0017 
0018 struct ZDC_channels {
0019   std::vector<int> LUT;
0020 };
0021 
0022 struct ZDC_fibers {
0023   std::vector<ZDC_channels> channel;
0024 };
0025 
0026 struct ZDC_sides {
0027   std::vector<ZDC_fibers> fiber;
0028 };
0029 
0030 class ZdcLut {
0031 public:
0032   ZdcLut();
0033   ~ZdcLut();
0034 
0035   //get_lut returns a specific lut based on side, fiber, and fiber_channel
0036   //std::vector <int> get_lut(int side_num, int fiber_num, int channel_num){ return side[side_num].fiber[fiber_num].channel[channel_num].LUT; }
0037   std::vector<int> get_lut(int emap_side, int emap_htr_fiber, int emap_fi_ch);
0038 
0039   std::vector<int> get_lut(std::string zdc_section, int zdc_side, int zdc_channel);
0040 
0041   int simple_loop(void);
0042 
0043 private:
0044   //variable
0045   std::vector<ZDC_sides> side;
0046 };
0047 
0048 #endif