CMS 3D CMS Logo

CSCPatternBank.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCPatternBank_h
2 #define L1Trigger_CSCTriggerPrimitives_CSCPatternBank_h
3 
5 #include <vector>
6 
7 //
8 // Class with only static members that contains the ALCT and CLCT trigger patterns
9 //
10 
12 public:
13  // typedef used for both ALCT and CLCT
14  typedef std::vector<std::vector<int> > LCTPattern;
15  typedef std::vector<LCTPattern> LCTPatterns;
16 
19  // key wire offsets for ME1 and ME2 are the same
20  // offsets for ME3 and ME4 are the same
22 
23  // Since the test beams in 2003, both collision patterns are "completely
24  // open". This is our current default.
26 
27  // Special option for narrow pattern for ring 1 stations
29 
32  // New set of halfstrip patterns for 2007 version of the algorithm.
33  // For the given pattern, set the unused parts of the pattern to 0.
34  // The bend direction is given by the next-to-last number in the the 6th layer
35  // Bend of 0 is right/straight and bend of 1 is left.
36  // The pattern maximum width is the last number in the the 6th layer
37  // Use during Run-1 and Run-2
39 
51  static double getLegacyPosition(int pattern);
52 
53  // New patterns for Run-3
55 
56  // half strip offsets per layer for each half strip in the pattern envelope
58 
59  // static function to return the sign of the bending in a CLCT pattern
60  static int getPatternBend(const LCTPattern& pattern) {
62  }
63 };
64 
65 #endif
static const int alct_keywire_offset_[2][CSCConstants::ALCT_PATTERN_WIDTH]
std::vector< LCTPattern > LCTPatterns
static const LCTPatterns clct_pattern_run3_
std::vector< std::vector< int > > LCTPattern
static const int clct_pattern_offset_[CSCConstants::CLCT_PATTERN_WIDTH]
static int getPatternBend(const LCTPattern &pattern)
static const LCTPatterns alct_pattern_r1_
static const LCTPatterns clct_pattern_legacy_
static double getLegacyPosition(int pattern)
static const LCTPatterns alct_pattern_legacy_