CMS 3D CMS Logo

L1MuDTWedgeSorter.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
16 //
17 //--------------------------------------------------
18 #ifndef L1MUDT_WEDGE_SORTER_H
19 #define L1MUDT_WEDGE_SORTER_H
20 
21 //---------------
22 // C++ Headers --
23 //---------------
24 
25 #include <vector>
26 
27 //----------------------
28 // Base Class Headers --
29 //----------------------
30 
32 
33 //------------------------------------
34 // Collaborating Class Declarations --
35 //------------------------------------
36 
37 class L1MuDTTrackFinder;
38 class L1MuDTTrack;
39 class L1MuDTSecProcId;
40 
41 // ---------------------
42 // -- Class Interface --
43 // ---------------------
44 
46 
47  public:
48 
50  L1MuDTWedgeSorter(const L1MuDTTrackFinder&, int id );
51 
53  ~L1MuDTWedgeSorter() override;
54 
56  inline int id() const { return m_wsid; }
57 
59  void run() override;
60 
62  void reset() override;
63 
65  void print() const;
66 
68  inline const std::vector<const L1MuDTTrack*>& tracks() const { return m_TrackCands; }
69 
70  private:
71 
73  void runCOL(std::vector<L1MuDTTrack*>&) const;
74 
76  bool anyTrack() const;
77 
79  static bool neighbour(const L1MuDTSecProcId& spid1, const L1MuDTSecProcId& spid2);
80 
81  private:
82 
84  int m_wsid;
85 
86  std::vector<const L1MuDTTrack*> m_TrackCands;
87 
88 };
89 
90 #endif
void run() override
run Wedge Sorter
const L1MuDTTrackFinder & m_tf
L1MuDTWedgeSorter(const L1MuDTTrackFinder &, int id)
constructor
bool anyTrack() const
are there any non-empty muon candidates in the Wedge Sorter?
void reset() override
reset Wedge Sorter
static bool neighbour(const L1MuDTSecProcId &spid1, const L1MuDTSecProcId &spid2)
find out if two Sector Processors are neighbours in the same wedge
std::vector< const L1MuDTTrack * > m_TrackCands
const std::vector< const L1MuDTTrack * > & tracks() const
return vector of muon candidates
int id() const
return Wedge Sorter identifier (0-11)
void print() const
print results after sorting
void runCOL(std::vector< L1MuDTTrack * > &) const
run the Cancel Out Logic of the wedge sorter
~L1MuDTWedgeSorter() override
destructor