CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MicroGMTLUT.h
Go to the documentation of this file.
1 #ifndef __l1microgmtlut_h
2 #define __l1microgmtlut_h
3 
4 #include <iostream>
5 #include <fstream>
6 #include <sstream>
7 #include <bitset>
8 #include <vector>
9 
12 
13 namespace l1t {
14  class MicroGMTLUT : public LUT {
15  public:
17  MicroGMTLUT(l1t::LUT* lut);
18  virtual ~MicroGMTLUT(){};
19 
20  // should be implemented in each daughter!
21  // This function is the minimum that should be provided
22  virtual int lookupPacked(int input) const;
23 
24  // populates the m_contents map.
25  void initialize();
26 
27  int checkedInput(unsigned in, unsigned maxWidth) const;
28 
29  // I/O functions
30  void save(std::ofstream& output);
31  int load(const std::string& inFileName);
32 
33  protected:
34  unsigned m_totalInWidth;
35  unsigned m_outWidth;
36  std::vector<MicroGMTConfiguration::input_t> m_inputs;
38  };
39 } // namespace l1t
40 
41 #endif /* defined(__l1microgmtlut_h) */
unsigned m_totalInWidth
Definition: MicroGMTLUT.h:34
int load(const std::string &inFileName)
Definition: MicroGMTLUT.cc:15
virtual int lookupPacked(int input) const
Definition: MicroGMTLUT.cc:30
int checkedInput(unsigned in, unsigned maxWidth) const
Definition: MicroGMTLUT.cc:51
virtual ~MicroGMTLUT()
Definition: MicroGMTLUT.h:18
std::vector< MicroGMTConfiguration::input_t > m_inputs
Definition: MicroGMTLUT.h:36
static std::string const input
Definition: EdmProvDump.cc:47
Definition: LUT.h:29
unsigned m_outWidth
Definition: MicroGMTLUT.h:35
void save(std::ofstream &output)
Definition: MicroGMTLUT.cc:13