CMS 3D CMS Logo

MatchEngineUnit.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_MatchEngineUnit_h
2 #define L1Trigger_TrackFindingTracklet_interface_MatchEngineUnit_h
3 
8 
9 #include <cassert>
10 #include <vector>
11 
12 namespace trklet {
13 
14  class Settings;
15  class Stub;
16  class L1TStub;
17 
19  public:
20  MatchEngineUnit(bool barrel, std::vector<bool> table, std::vector<bool> tablePS, std::vector<bool> table2S);
21 
22  ~MatchEngineUnit() = default;
23 
24  void init(VMStubsMEMemory* vmstubsmemory,
25  unsigned int slot,
26  int projrinv,
27  int projfinerz,
28  int projfinephi,
29  bool usesecond,
30  bool isPSseed,
31  Tracklet* proj);
32 
33  bool empty() const { return candmatches_.empty(); }
34 
35  std::pair<Tracklet*, const Stub*> read() { return candmatches_.read(); }
36 
37  std::pair<Tracklet*, const Stub*> peek() const { return candmatches_.peek(); }
38 
39  Tracklet* currentProj() const { return proj_; }
40 
41  bool idle() const { return idle_; }
42 
43  void reset();
44 
45  void step();
46 
47  private:
49 
50  //unsigned int memory slot
51  unsigned int slot_;
52  unsigned int istub_;
53 
54  bool barrel_;
55  int projrinv_;
58  bool usesecond_;
59  bool isPSseed_;
61 
62  bool idle_;
63 
64  //used in the layers
65  std::vector<bool> table_;
66 
67  //used in the disks
68  std::vector<bool> tablePS_;
69  std::vector<bool> table2S_;
70 
71  //save the candidate matches
73  };
74 
75 }; // namespace trklet
76 #endif
trklet::MatchEngineUnit::~MatchEngineUnit
~MatchEngineUnit()=default
trklet::VMStubsMEMemory
Definition: VMStubsMEMemory.h:16
Reference_intrackfit_cff.barrel
list barrel
Definition: Reference_intrackfit_cff.py:37
trklet::MatchEngineUnit::projrinv_
int projrinv_
Definition: MatchEngineUnit.h:55
trklet::MatchEngineUnit::tablePS_
std::vector< bool > tablePS_
Definition: MatchEngineUnit.h:68
trklet::MatchEngineUnit::peek
std::pair< Tracklet *, const Stub * > peek() const
Definition: MatchEngineUnit.h:37
trklet::MatchEngineUnit::init
void init(VMStubsMEMemory *vmstubsmemory, unsigned int slot, int projrinv, int projfinerz, int projfinephi, bool usesecond, bool isPSseed, Tracklet *proj)
Definition: MatchEngineUnit.cc:16
trklet::Tracklet
Definition: Tracklet.h:28
trklet::MatchEngineUnit::istub_
unsigned int istub_
Definition: MatchEngineUnit.h:52
trklet::MatchEngineUnit::read
std::pair< Tracklet *, const Stub * > read()
Definition: MatchEngineUnit.h:35
trklet::MatchEngineUnit::table_
std::vector< bool > table_
Definition: MatchEngineUnit.h:65
CircularBuffer.h
trklet::MatchEngineUnit::candmatches_
CircularBuffer< std::pair< Tracklet *, const Stub * > > candmatches_
Definition: MatchEngineUnit.h:72
trklet::MatchEngineUnit::table2S_
std::vector< bool > table2S_
Definition: MatchEngineUnit.h:69
trklet::MatchEngineUnit::currentProj
Tracklet * currentProj() const
Definition: MatchEngineUnit.h:39
trklet::MatchEngineUnit::barrel_
bool barrel_
Definition: MatchEngineUnit.h:54
trklet::MatchEngineUnit::empty
bool empty() const
Definition: MatchEngineUnit.h:33
trklet::MatchEngineUnit::step
void step()
Definition: MatchEngineUnit.cc:36
VMStubsMEMemory.h
amptDefault_cfi.proj
proj
Definition: amptDefault_cfi.py:13
trklet::CircularBuffer
Definition: CircularBuffer.h:10
trklet::MatchEngineUnit::proj_
Tracklet * proj_
Definition: MatchEngineUnit.h:60
trklet::MatchEngineUnit::idle_
bool idle_
Definition: MatchEngineUnit.h:62
trklet::MatchEngineUnit::vmstubsmemory_
VMStubsMEMemory * vmstubsmemory_
Definition: MatchEngineUnit.h:48
trklet
Definition: AllProjectionsMemory.h:9
trklet::MatchEngineUnit::reset
void reset()
Definition: MatchEngineUnit.cc:91
trklet::MatchEngineUnit::isPSseed_
bool isPSseed_
Definition: MatchEngineUnit.h:59
trklet::MatchEngineUnit::usesecond_
bool usesecond_
Definition: MatchEngineUnit.h:58
MemoryBase.h
trklet::MatchEngineUnit::projfinephi_
int projfinephi_
Definition: MatchEngineUnit.h:57
trklet::MatchEngineUnit::MatchEngineUnit
MatchEngineUnit(bool barrel, std::vector< bool > table, std::vector< bool > tablePS, std::vector< bool > table2S)
Definition: MatchEngineUnit.cc:6
trklet::MatchEngineUnit
Definition: MatchEngineUnit.h:18
trklet::MatchEngineUnit::projfinerz_
int projfinerz_
Definition: MatchEngineUnit.h:56
trklet::MatchEngineUnit::idle
bool idle() const
Definition: MatchEngineUnit.h:41
TableParser.table
table
Definition: TableParser.py:111
Tracklet.h
trklet::MatchEngineUnit::slot_
unsigned int slot_
Definition: MatchEngineUnit.h:51