CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ComparatorCodeLUT.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_ComparatorCodeLUT
2 #define L1Trigger_CSCTriggerPrimitives_ComparatorCodeLUT
3 
19 
20 #include <vector>
21 #include <string>
22 
23 class CSCCLCTDigi;
24 
26 public:
27  typedef std::array<std::array<int, 3>, CSCConstants::NUM_LAYERS> pattern;
28 
29  // constructor
31 
33 
34  // runs the CCLUT procedure
35  void run(CSCCLCTDigi& digi, unsigned numCFEBs) const;
36 
37 private:
38  //calculates the id based on location of hits
39  int calculateComparatorCode(const pattern& halfStripPattern) const;
40 
41  unsigned convertSlopeToRun2Pattern(const unsigned slope) const;
42 
43  // sets the 1/4 and 1/8 strip bits given a floating point position offset
44  void assignPositionCC(const unsigned offset, std::tuple<int16_t, bool, bool>& returnValue) const;
45 
46  // actual LUT used
48 
49  // verbosity level
50  unsigned infoV_;
51 
52  // access to lookup tables via eventsetup
54 };
55 
56 #endif
std::array< std::array< int, 3 >, CSCConstants::NUM_LAYERS > pattern
static const double slope[3]
std::vector< LCTPattern > LCTPatterns
CSCPatternBank::LCTPatterns clct_pattern_
void run(CSCCLCTDigi &digi, unsigned numCFEBs) const
ComparatorCodeLUT(const edm::ParameterSet &conf)
int calculateComparatorCode(const pattern &halfStripPattern) const
unsigned convertSlopeToRun2Pattern(const unsigned slope) const
void setESLookupTables(const CSCL1TPLookupTableCCLUT *conf)
void assignPositionCC(const unsigned offset, std::tuple< int16_t, bool, bool > &returnValue) const
const CSCL1TPLookupTableCCLUT * lookupTableCCLUT_