CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuDTTrackFinder.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
18 //
19 //--------------------------------------------------
20 #ifndef L1MUDT_TRACK_FINDER_H
21 #define L1MUDT_TRACK_FINDER_H
22 
23 //---------------
24 // C++ Headers --
25 //---------------
26 
27 #include <vector>
28 
29 //----------------------
30 // Base Class Headers --
31 //----------------------
32 
33 
34 //------------------------------------
35 // Collaborating Class Declarations --
36 //------------------------------------
37 
41 class L1MuDTTFConfig;
42 class L1MuDTSecProcMap;
43 class L1MuDTSecProcId;
45 class L1MuDTEtaProcessor;
46 class L1MuDTWedgeSorter;
47 class L1MuDTMuonSorter;
48 class L1MuDTTrackCand;
49 class L1MuRegionalCand;
50 
51 // ---------------------
52 // -- Class Interface --
53 // ---------------------
54 
55 
57 
58  public:
59 
61  typedef std::vector<L1MuRegionalCand>::const_iterator TFtracks_const_iter;
62  typedef std::vector<L1MuRegionalCand>::iterator TFtracks_iter;
63 
66 
68  virtual ~L1MuDTTrackFinder();
69 
71  void setup();
72 
74  void run(const edm::Event& e, const edm::EventSetup& c);
75 
77  void reset();
78 
80  const L1MuDTSectorProcessor* sp(const L1MuDTSecProcId&) const;
81 
83  inline const L1MuDTEtaProcessor* ep(int id) const { return m_epvec[id]; }
84 
86  inline const L1MuDTWedgeSorter* ws(int id) const { return m_wsvec[id]; }
87 
89  inline const L1MuDTMuonSorter* ms() const { return m_ms; }
90 
92  int numberOfTracks();
93 
95 
97 
98  void clear();
99 
101  int numberOfTracks(int bx);
102 
104  static L1MuDTTFConfig* config() { return m_config; }
105 
106  std::vector<L1MuDTTrackCand>& getcache0() { return _cache0; }
107 
108  std::vector<L1MuRegionalCand>& getcache() { return _cache; }
109 
110  private:
111 
113  virtual void reconstruct(const edm::Event& e, const edm::EventSetup& c) { reset(); run(e,c); }
114 
115  private:
116 
117  std::vector<L1MuDTTrackCand> _cache0;
118  std::vector<L1MuRegionalCand> _cache;
120  std::vector<L1MuDTEtaProcessor*> m_epvec;
121  std::vector<L1MuDTWedgeSorter*> m_wsvec;
123 
125 
126 };
127 
128 #endif
TFtracks_const_iter begin()
const L1MuDTMuonSorter * ms() const
get a pointer to the DT Muon Sorter
L1MuDTSecProcMap * m_spmap
Sector Processors.
L1MuDTMuonSorter * m_ms
DT Muon Sorter.
TFtracks_const_iter end()
void run(const edm::Event &e, const edm::EventSetup &c)
run the barrel MTTF
const L1MuDTSectorProcessor * sp(const L1MuDTSecProcId &) const
get a pointer to a Sector Processor
const L1MuDTEtaProcessor * ep(int id) const
get a pointer to an Eta Processor, index [0-11]
std::vector< L1MuDTTrackCand > _cache0
virtual ~L1MuDTTrackFinder()
destructor
void reset()
reset the barrel MTTF
int numberOfTracks()
get number of muon candidates found by the barrel MTTF
L1MuDTTrackFinder(const edm::ParameterSet &ps, edm::ConsumesCollector &&iC)
constructor
std::vector< L1MuDTTrackCand > & getcache0()
std::vector< L1MuRegionalCand > _cache
std::vector< L1MuRegionalCand > & getcache()
std::vector< L1MuDTEtaProcessor * > m_epvec
Eta Processors.
virtual void reconstruct(const edm::Event &e, const edm::EventSetup &c)
run Track Finder and store candidates in cache
static L1MuDTTFConfig * config()
return configuration
std::vector< L1MuRegionalCand >::const_iterator TFtracks_const_iter
container for muon candidates
std::vector< L1MuRegionalCand >::iterator TFtracks_iter
void setup()
build the structure of the barrel MTTF
const L1MuDTWedgeSorter * ws(int id) const
get a pointer to a Wedge Sorter, index [0-11]
static L1MuDTTFConfig * m_config
Track Finder configuration.
std::vector< L1MuDTWedgeSorter * > m_wsvec
Wedge Sorters.