CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions
L1MuGMTLFPtMixLUT Class Reference

#include <L1MuGMTLFPtMixLUT.h>

Inheritance diagram for L1MuGMTLFPtMixLUT:
L1MuGMTLUT

Public Types

enum  { DTRPC, CSCRPC }
 
- Public Types inherited from L1MuGMTLUT
typedef std::pair< std::string,
unsigned > 
port
 

Public Member Functions

 L1MuGMTLFPtMixLUT ()
 constuctor using function-lookup More...
 
virtual unsigned LookupFunctionPacked (int idx, unsigned address) const
 access to lookup function with packed input and output More...
 
unsigned SpecificLookup (int idx, unsigned pt_dtcsc, unsigned pt_rpc) const
 specific lookup function for entire output field More...
 
unsigned SpecificLookup_pt_mixed (int idx, unsigned pt_dtcsc, unsigned pt_rpc) const
 specific lookup function for pt_mixed More...
 
virtual ~L1MuGMTLFPtMixLUT ()
 destructor More...
 
- Public Member Functions inherited from L1MuGMTLUT
 L1MuGMTLUT ()
 Init and Destruct. More...
 
 L1MuGMTLUT (const char *name, const std::vector< std::string > &instances, const std::vector< port > &in_widths, const std::vector< port > &out_widths, unsigned vme_addr_width=0, bool distrRAM=false)
 constructor with init More...
 
 L1MuGMTLUT (const char *name, const std::string &instances, const std::string &inputs, const std::string &outputs, unsigned vme_addr_width=0, bool distrRAM=false)
 
void Load (const char *path)
 I/O functions. More...
 
std::vector< unsigned > Lookup (int idx, const std::vector< unsigned > &address) const
 additional lookup function (std::vector -> vector) More...
 
std::vector< unsigned > Lookup (int idx, unsigned address) const
 additional lookup function (unsigned -> std::vector) More...
 
unsigned LookupPacked (int idx, unsigned) const
 
unsigned LookupPacked (int idx, const std::vector< unsigned > &address) const
 additional lookup function (std::vector -> unisgned) More...
 
void MakeSubClass (const char *fname="", const char *template_file_h="../interface/L1MuGMTLUT_SubClass.h_template", const char *template_file_cc="../interface/L1MuGMTLUT_SubClass.cc_template")
 Add Generate SubClass method. More...
 
std::string Name ()
 
int numberOfInstances ()
 get the number of Instances More...
 
void Save (const char *path)
 save to LUT file More...
 
virtual ~L1MuGMTLUT ()
 destructor More...
 

Private Member Functions

void InitParameters ()
 Initialize scales, configuration parameters, alignment constants, ... More...
 
unsigned TheLookupFunction (int idx, unsigned pt_dtcsc, unsigned pt_rpc) const
 The lookup function - here the functionality of the LUT is implemented. More...
 

Additional Inherited Members

- Protected Member Functions inherited from L1MuGMTLUT
void Init (const char *name, const std::vector< std::string > &instances, const std::vector< port > &in_widths, const std::vector< port > &out_widths, unsigned vme_addr_width=0, bool distrRAM=false)
 Initialize the LUT. More...
 
void Set (int idx, unsigned address, unsigned value)
 set with single address and value More...
 
std::vector< unsigned > u2vec (unsigned value, const std::vector< port > &widths) const
 generate composite address or value from compact unsigned More...
 
unsigned vec2u (const std::vector< unsigned > &vec, const std::vector< port > &widths) const
 generate address or value from composite address or value More...
 
- Protected Attributes inherited from L1MuGMTLUT
std::vector< std::vector
< unsigned > > 
m_Contents
 
bool m_distrRAM
 
unsigned m_GeneralLUTVersion
 
bool m_initialized
 
std::vector< portm_Inputs
 
std::vector< std::string > m_InstNames
 
std::string m_name
 
int m_NLUTS
 
std::vector< portm_Outputs
 
bool m_saveFlag
 
unsigned m_TotalInWidth
 
unsigned m_TotalOutWidth
 
bool m_UseLookupFunction
 
unsigned m_vme_addr_width
 

Detailed Description

LFPtMix look-up table

this class was automatically generated by L1MuGMTLUT::MakeSubClass()

Definition at line 42 of file L1MuGMTLFPtMixLUT.h.

Member Enumeration Documentation

anonymous enum
Enumerator
DTRPC 
CSCRPC 

Definition at line 45 of file L1MuGMTLFPtMixLUT.h.

Constructor & Destructor Documentation

L1MuGMTLFPtMixLUT::L1MuGMTLFPtMixLUT ( )
inline

constuctor using function-lookup

Definition at line 48 of file L1MuGMTLFPtMixLUT.h.

References InitParameters().

48  : L1MuGMTLUT("LFPtMix",
49  "DTRPC CSCRPC",
50  "pt_dtcsc(5) pt_rpc(5)",
51  "pt_mixed(5)", 9, false) {
53  } ;
void InitParameters()
Initialize scales, configuration parameters, alignment constants, ...
L1MuGMTLUT()
Init and Destruct.
Definition: L1MuGMTLUT.h:85
virtual L1MuGMTLFPtMixLUT::~L1MuGMTLFPtMixLUT ( )
inlinevirtual

destructor

Definition at line 56 of file L1MuGMTLFPtMixLUT.h.

56 {};

Member Function Documentation

void L1MuGMTLFPtMixLUT::InitParameters ( )
private

Initialize scales, configuration parameters, alignment constants, ...

Definition at line 34 of file L1MuGMTLFPtMixLUT.cc.

Referenced by L1MuGMTLFPtMixLUT().

34  {
35 }
virtual unsigned L1MuGMTLFPtMixLUT::LookupFunctionPacked ( int  idx,
unsigned  address 
) const
inlinevirtual

access to lookup function with packed input and output

Reimplemented from L1MuGMTLUT.

Definition at line 78 of file L1MuGMTLFPtMixLUT.h.

References L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().

78  {
79  std::vector<unsigned> addr = u2vec(address, m_Inputs);
80  return TheLookupFunction(idx ,addr[0] ,addr[1]);
81 
82  };
char * address
Definition: mlp_lapack.h:14
unsigned TheLookupFunction(int idx, unsigned pt_dtcsc, unsigned pt_rpc) const
The lookup function - here the functionality of the LUT is implemented.
std::vector< port > m_Inputs
Definition: L1MuGMTLUT.h:203
std::vector< unsigned > u2vec(unsigned value, const std::vector< port > &widths) const
generate composite address or value from compact unsigned
Definition: L1MuGMTLUT.h:241
unsigned L1MuGMTLFPtMixLUT::SpecificLookup ( int  idx,
unsigned  pt_dtcsc,
unsigned  pt_rpc 
) const
inline

specific lookup function for entire output field

Definition at line 67 of file L1MuGMTLFPtMixLUT.h.

References L1MuGMTLUT::LookupPacked().

67  {
68  std::vector<unsigned> addr(2);
69  addr[0] = pt_dtcsc;
70  addr[1] = pt_rpc;
71  return LookupPacked(idx, addr);
72  };
unsigned LookupPacked(int idx, unsigned) const
Definition: L1MuGMTLUT.h:262
unsigned L1MuGMTLFPtMixLUT::SpecificLookup_pt_mixed ( int  idx,
unsigned  pt_dtcsc,
unsigned  pt_rpc 
) const
inline

specific lookup function for pt_mixed

Definition at line 59 of file L1MuGMTLFPtMixLUT.h.

References L1MuGMTLUT::Lookup().

Referenced by L1MuGMTMerger::createMergedCand().

59  {
60  std::vector<unsigned> addr(2);
61  addr[0] = pt_dtcsc;
62  addr[1] = pt_rpc;
63  return Lookup(idx, addr) [0];
64  };
std::vector< unsigned > Lookup(int idx, const std::vector< unsigned > &address) const
additional lookup function (std::vector -&gt; vector)
Definition: L1MuGMTLUT.h:117
unsigned L1MuGMTLFPtMixLUT::TheLookupFunction ( int  idx,
unsigned  pt_dtcsc,
unsigned  pt_rpc 
) const
private

The lookup function - here the functionality of the LUT is implemented.

Definition at line 41 of file L1MuGMTLFPtMixLUT.cc.

Referenced by LookupFunctionPacked().

41  {
42  // idx is DTRPC, CSCRPC
43  // INPUTS: pt_dtcsc(5) pt_rpc(5)
44  // OUTPUTS: pt_mixed(5)
45 
46 
47  // choosing maximum pt
48 
49  return pt_dtcsc < pt_rpc ? pt_rpc : pt_dtcsc;
50 }