CMS 3D CMS Logo

PatternRecognition.h
Go to the documentation of this file.
1 #ifndef L1TMuonEndCap_PatternRecognition_h
2 #define L1TMuonEndCap_PatternRecognition_h
3 
6 
7 
9 public:
10  // Pattern detector ID: [zone, keystrip, pattern]
11  typedef std::array<int, 3> pattern_ref_t;
12 
13  void configure(
14  int verbose, int endcap, int sector, int bx,
15  int bxWindow,
16  const std::vector<std::string>& pattDefinitions, const std::vector<std::string>& symPattDefinitions, bool useSymPatterns,
17  int maxRoadsPerZone, bool useSecondEarliest
18  );
19 
20  void configure_details();
21 
22  void process(
23  const std::deque<EMTFHitCollection>& extended_conv_hits,
24  std::map<pattern_ref_t, int>& patt_lifetime_map,
26  ) const;
27 
28  bool is_zone_empty(
29  int zone,
30  const std::deque<EMTFHitCollection>& extended_conv_hits,
31  const std::map<pattern_ref_t, int>& patt_lifetime_map
32  ) const;
33 
34  void make_zone_image(
35  int zone,
36  const std::deque<EMTFHitCollection>& extended_conv_hits,
37  PhiMemoryImage& image
38  ) const;
39 
41  int zone,
42  PhiMemoryImage cloned_image,
43  std::map<pattern_ref_t, int>& patt_lifetime_map,
44  EMTFRoadCollection& roads
45  ) const;
46 
47  void sort_single_zone(EMTFRoadCollection& roads) const;
48 
49 
50 private:
52 
53  int bxWindow_;
54  std::vector<std::string> pattDefinitions_, symPattDefinitions_;
58 
59  std::vector<PhiMemoryImage> patterns_;
60 };
61 
62 #endif
l1t::EMTFRoadCollection EMTFRoadCollection
Definition: Common.h:22
std::vector< PhiMemoryImage > patterns_
std::vector< std::string > pattDefinitions_
void sort_single_zone(EMTFRoadCollection &roads) const
void process_single_zone(int zone, PhiMemoryImage cloned_image, std::map< pattern_ref_t, int > &patt_lifetime_map, EMTFRoadCollection &roads) const
void make_zone_image(int zone, const std::deque< EMTFHitCollection > &extended_conv_hits, PhiMemoryImage &image) const
void process(const std::deque< EMTFHitCollection > &extended_conv_hits, std::map< pattern_ref_t, int > &patt_lifetime_map, emtf::zone_array< EMTFRoadCollection > &zone_roads) const
std::vector< std::string > symPattDefinitions_
std::array< T, NUM_ZONES > zone_array
Definition: Common.h:68
void configure(int verbose, int endcap, int sector, int bx, int bxWindow, const std::vector< std::string > &pattDefinitions, const std::vector< std::string > &symPattDefinitions, bool useSymPatterns, int maxRoadsPerZone, bool useSecondEarliest)
bool is_zone_empty(int zone, const std::deque< EMTFHitCollection > &extended_conv_hits, const std::map< pattern_ref_t, int > &patt_lifetime_map) const
std::array< int, 3 > pattern_ref_t