CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 
11 #include "../interface/MicroGMTConfiguration.h"
12 
13 namespace l1t {
14  class MicroGMTLUT : public LUT {
15  public:
17  virtual ~MicroGMTLUT() {};
18 
19  // should be implemented in each daughter!
20  // This function is the minimum that should be provided
21  virtual int lookupPacked(int input) const;
22 
23  // populates the m_contents map.
24  void initialize();
25 
26  int checkedInput(unsigned in, unsigned maxWidth) const;
27 
28  // I/O functions
29  void save(std::ofstream& output);
30  int load(const std::string& inFileName);
31 
32  protected:
33  unsigned m_totalInWidth;
34  unsigned m_outWidth;
35  std::vector<MicroGMTConfiguration::input_t> m_inputs;
37  };
38 }
39 
40 #endif /* defined(__l1microgmtlut_h) */
unsigned m_totalInWidth
Definition: MicroGMTLUT.h:33
int load(const std::string &inFileName)
Definition: MicroGMTLUT.cc:14
virtual int lookupPacked(int input) const
Definition: MicroGMTLUT.cc:30
int checkedInput(unsigned in, unsigned maxWidth) const
Definition: MicroGMTLUT.cc:55
virtual ~MicroGMTLUT()
Definition: MicroGMTLUT.h:17
std::vector< MicroGMTConfiguration::input_t > m_inputs
Definition: MicroGMTLUT.h:35
static std::string const input
Definition: EdmProvDump.cc:44
Definition: LUT.h:29
unsigned m_outWidth
Definition: MicroGMTLUT.h:34
void save(std::ofstream &output)
Definition: MicroGMTLUT.cc:8
volatile std::atomic< bool > shutdown_flag false