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
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
:
48
VMStubsMEMemory
*
vmstubsmemory_
;
49
50
//unsigned int memory slot
51
unsigned
int
slot_
;
52
unsigned
int
istub_
;
53
54
bool
barrel_
;
55
int
projrinv_
;
56
int
projfinerz_
;
57
int
projfinephi_
;
58
bool
usesecond_
;
59
bool
isPSseed_
;
60
Tracklet
*
proj_
;
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
72
CircularBuffer<std::pair<Tracklet*, const Stub*>
>
candmatches_
;
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
Generated for CMSSW Reference Manual by
1.8.16