L1Trigger
TrackFindingTracklet
interface
MatchEngineUnit.h
Go to the documentation of this file.
1
#ifndef L1Trigger_TrackFindingTracklet_interface_MatchEngineUnit_h
2
#define L1Trigger_TrackFindingTracklet_interface_MatchEngineUnit_h
3
4
#include "
L1Trigger/TrackFindingTracklet/interface/VMStubsMEMemory.h
"
5
#include "
L1Trigger/TrackFindingTracklet/interface/CircularBuffer.h
"
6
#include "
L1Trigger/TrackFindingTracklet/interface/Tracklet.h
"
7
#include "
L1Trigger/TrackFindingTracklet/interface/MemoryBase.h
"
8
9
#include <cassert>
10
#include <vector>
11
12
namespace
trklet
{
13
14
class
Settings;
15
class
Stub;
16
class
L1TStub;
17
18
class
MatchEngineUnit
{
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
isPSseed,
30
Tracklet
*
proj
);
31
32
bool
empty
()
const
{
return
candmatches_
.empty(); }
33
34
std::pair<Tracklet*, const Stub*>
read
() {
return
candmatches_
.read(); }
35
36
std::pair<Tracklet*, const Stub*>
peek
()
const
{
return
candmatches_
.peek(); }
37
38
Tracklet
*
currentProj
()
const
{
return
proj_
; }
39
40
bool
idle
()
const
{
return
idle_
; }
41
42
void
step
();
43
44
private
:
45
VMStubsMEMemory
*
vmstubsmemory_
;
46
47
//unsigned int memory slot
48
unsigned
int
slot_
;
49
unsigned
int
istub_
;
50
51
bool
barrel_
;
52
int
projrinv_
;
53
int
projfinerz_
;
54
int
projfinephi_
;
55
bool
isPSseed_
;
56
Tracklet
*
proj_
;
57
58
bool
idle_
;
59
60
//used in the layers
61
std::vector<bool>
table_
;
62
63
//used in the disks
64
std::vector<bool>
tablePS_
;
65
std::vector<bool>
table2S_
;
66
67
//save the candidate matches
68
CircularBuffer<std::pair<Tracklet*, const Stub*>
>
candmatches_
;
69
};
70
71
};
// namespace trklet
72
#endif
trklet::MatchEngineUnit::~MatchEngineUnit
~MatchEngineUnit()=default
trklet::MatchEngineUnit::init
void init(VMStubsMEMemory *vmstubsmemory, unsigned int slot, int projrinv, int projfinerz, int projfinephi, bool isPSseed, Tracklet *proj)
Definition:
MatchEngineUnit.cc:16
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:52
trklet::MatchEngineUnit::tablePS_
std::vector< bool > tablePS_
Definition:
MatchEngineUnit.h:64
trklet::MatchEngineUnit::peek
std::pair< Tracklet *, const Stub * > peek() const
Definition:
MatchEngineUnit.h:36
trklet::Tracklet
Definition:
Tracklet.h:28
trklet::MatchEngineUnit::istub_
unsigned int istub_
Definition:
MatchEngineUnit.h:49
trklet::MatchEngineUnit::read
std::pair< Tracklet *, const Stub * > read()
Definition:
MatchEngineUnit.h:34
trklet::MatchEngineUnit::table_
std::vector< bool > table_
Definition:
MatchEngineUnit.h:61
CircularBuffer.h
trklet::MatchEngineUnit::candmatches_
CircularBuffer< std::pair< Tracklet *, const Stub * > > candmatches_
Definition:
MatchEngineUnit.h:68
trklet::MatchEngineUnit::table2S_
std::vector< bool > table2S_
Definition:
MatchEngineUnit.h:65
trklet::MatchEngineUnit::currentProj
Tracklet * currentProj() const
Definition:
MatchEngineUnit.h:38
trklet::MatchEngineUnit::barrel_
bool barrel_
Definition:
MatchEngineUnit.h:51
trklet::MatchEngineUnit::empty
bool empty() const
Definition:
MatchEngineUnit.h:32
trklet::MatchEngineUnit::step
void step()
Definition:
MatchEngineUnit.cc:34
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:56
trklet::MatchEngineUnit::idle_
bool idle_
Definition:
MatchEngineUnit.h:58
trklet::MatchEngineUnit::vmstubsmemory_
VMStubsMEMemory * vmstubsmemory_
Definition:
MatchEngineUnit.h:45
trklet
Definition:
AllProjectionsMemory.h:9
trklet::MatchEngineUnit::isPSseed_
bool isPSseed_
Definition:
MatchEngineUnit.h:55
MemoryBase.h
trklet::MatchEngineUnit::projfinephi_
int projfinephi_
Definition:
MatchEngineUnit.h:54
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:53
trklet::MatchEngineUnit::idle
bool idle() const
Definition:
MatchEngineUnit.h:40
TableParser.table
table
Definition:
TableParser.py:111
Tracklet.h
trklet::MatchEngineUnit::slot_
unsigned int slot_
Definition:
MatchEngineUnit.h:48
Generated for CMSSW Reference Manual by
1.8.16