CMS 3D CMS Logo

L1MuDTMuonSorter.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
16 //
17 //--------------------------------------------------
18 #ifndef L1MUDT_MUON_SORTER_H
19 #define L1MUDT_MUON_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 
51 
53  ~L1MuDTMuonSorter() override;
54 
56  void run() override;
57 
59  void reset() override;
60 
62  void print() const;
63 
65  inline int numberOfTracks() const { return m_TrackCands.size(); }
66 
68  inline const L1MuDTTrack* track(int id) const { return m_TrackCands[id]; }
69 
71  inline const std::vector<const L1MuDTTrack*>& tracks() const { return m_TrackCands; }
72 
73  private:
74 
76  void runCOL(std::vector<L1MuDTTrack*>&) const;
77 
79  static int neighbour(const L1MuDTSecProcId& spid1, const L1MuDTSecProcId& spid2);
80 
81  private:
82 
84  std::vector<const L1MuDTTrack*> m_TrackCands;
85 
86 };
87 
88 #endif
static int neighbour(const L1MuDTSecProcId &spid1, const L1MuDTSecProcId &spid2)
find out if two Sector Processors are neighbours
void print() const
print results after sorting
void runCOL(std::vector< L1MuDTTrack * > &) const
run the Cancel Out Logic of the muon sorter
void run() override
run Muon Sorter
void reset() override
reset Muon Sorter
std::vector< const L1MuDTTrack * > m_TrackCands
int numberOfTracks() const
return number of found muon candidates after sorter
const std::vector< const L1MuDTTrack * > & tracks() const
return vector of muon candidates
const L1MuDTTrackFinder & m_tf
L1MuDTMuonSorter(const L1MuDTTrackFinder &)
constructor
~L1MuDTMuonSorter() override
destructor
const L1MuDTTrack * track(int id) const
return pointer to a muon candidate