CMS 3D CMS Logo

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 
32  // runs the CCLUT procedure
33  void run(CSCCLCTDigi& digi, unsigned numCFEBs, const CSCL1TPLookupTableCCLUT* lookupTableCCLUT) const;
34 
35 private:
36  //calculates the id based on location of hits
37  int calculateComparatorCode(const pattern& halfStripPattern) const;
38 
39  unsigned convertSlopeToRun2Pattern(const unsigned slope) const;
40 
41  // sets the 1/4 and 1/8 strip bits given a floating point position offset
42  void assignPositionCC(const unsigned offset, std::tuple<int16_t, bool, bool>& returnValue) const;
43 
44  // actual LUT used
46 
47  // verbosity level
48  unsigned infoV_;
49 };
50 
51 #endif
unsigned convertSlopeToRun2Pattern(const unsigned slope) const
std::array< std::array< int, 3 >, CSCConstants::NUM_LAYERS > pattern
static const double slope[3]
std::vector< LCTPattern > LCTPatterns
int calculateComparatorCode(const pattern &halfStripPattern) const
CSCPatternBank::LCTPatterns clct_pattern_
void assignPositionCC(const unsigned offset, std::tuple< int16_t, bool, bool > &returnValue) const
ComparatorCodeLUT(const edm::ParameterSet &conf)
void run(CSCCLCTDigi &digi, unsigned numCFEBs, const CSCL1TPLookupTableCCLUT *lookupTableCCLUT) const