#include <L1MuDTTrackAssembler.h>
Public Member Functions | |
int | address (int id, int stat) const |
get address of a single station of selected track candidate More... | |
L1MuDTAddressArray | address (int id) const |
get address-array of selected track candidate More... | |
bool | isEmpty (int id) const |
is it a valid Track Class? More... | |
L1MuDTTrackAssembler (const L1MuDTSectorProcessor &) | |
constructor More... | |
void | print () const |
print result of Track Assembler More... | |
virtual void | reset () |
reset Track Assembler More... | |
virtual void | run () |
run Track Assembler More... | |
const std::bitset< 4 > & | trackBitMap (int id) const |
return bitmap of found track More... | |
TrackClass | trackClass (int id) const |
return Track Class of found track More... | |
virtual | ~L1MuDTTrackAssembler () |
destructor More... | |
Public Member Functions inherited from L1AbstractProcessor | |
virtual void | run (const edm::EventSetup &c) |
virtual | ~L1AbstractProcessor () |
destructor More... | |
Private Member Functions | |
void | runAddressAssignment1 (int global, int group) |
run the first Address Assignment Sub-Unit More... | |
void | runAddressAssignment2 (int global, int group) |
run the second Address Assignment Sub-Unit More... | |
void | runEncoderSubUnit1 (unsigned &global, unsigned &group, unsigned &priority) |
run the first Priority Encoder Sub-Unit More... | |
void | runEncoderSubUnit2 (unsigned &global, unsigned &group, unsigned &priority) |
run the second Priority Encoder Sub-Unit More... | |
Static Private Member Functions | |
static unsigned int | addressEncoder12 (const std::bitset< 12 > &input) |
12 bit address encoder More... | |
static unsigned int | addressEncoder12s (const std::bitset< 12 > &input) |
special 12 bit address encoder More... | |
static std::bitset< 56 > | getCancelationTable (unsigned int) |
cancel Out Table More... | |
static unsigned int | priorityEncoder12 (const std::bitset< 12 > &input) |
12 bit priority encoder More... | |
static unsigned int | priorityEncoder21 (const std::bitset< 21 > &input) |
21 bit priority encoder More... | |
static unsigned int | priorityEncoder22 (const std::bitset< 22 > &input) |
22 bit priority encoder More... | |
static unsigned int | priorityEncoder4 (const std::bitset< 4 > &input) |
4 bit priority encoder More... | |
static unsigned long | subBitset56 (const std::bitset< 56 > &input, int pos, int length) |
get sub-bitmap of a 56-bit word More... | |
static unsigned long | subBitset68 (const std::bitset< 68 > &input, int pos, int length) |
get sub-bitmap of a 68-bit word More... | |
Private Attributes | |
const L1MuDTSectorProcessor & | m_sp |
L1MuDTAddressArray | m_theAddresses [2] |
std::bitset< 4 > | m_theBitMaps [2] |
unsigned int | m_theLastAddress [68] |
unsigned int | m_theLastAddressI [12] |
std::bitset< 68 > | m_thePriorityTable1 |
std::bitset< 56 > | m_thePriorityTable2 |
TrackClass | m_theTCs [2] |
Track Assembler:
The Track Assembler gets the 18 Bitmap tables from the Quality Sorter Unit and links the corresponding track segments to full tracks
(this version corresponds to the VHDL model b_sts_7 version 7 )
N. Neumeister CERN EP
Definition at line 51 of file L1MuDTTrackAssembler.h.
L1MuDTTrackAssembler::L1MuDTTrackAssembler | ( | const L1MuDTSectorProcessor & | sp | ) |
|
virtual |
|
inline |
get address of a single station of selected track candidate
Definition at line 80 of file L1MuDTTrackAssembler.h.
References errorMatrix2Lands_multiChannel::id, m_theAddresses, and L1MuDTAddressArray::station().
Referenced by L1MuDTAssignmentUnit::run().
|
inline |
get address-array of selected track candidate
Definition at line 83 of file L1MuDTTrackAssembler.h.
References errorMatrix2Lands_multiChannel::id, and m_theAddresses.
|
staticprivate |
12 bit address encoder
Definition at line 1006 of file L1MuDTTrackAssembler.cc.
References i, and query::result.
Referenced by run().
|
staticprivate |
special 12 bit address encoder
Definition at line 1027 of file L1MuDTTrackAssembler.cc.
References i, and query::result.
Referenced by run().
|
staticprivate |
cancel Out Table
Definition at line 1080 of file L1MuDTTrackAssembler.cc.
References b.
Referenced by run().
|
inline |
is it a valid Track Class?
Definition at line 77 of file L1MuDTTrackAssembler.h.
References m_theTCs, and UNDEF.
Referenced by L1MuDTSectorProcessor::run().
void L1MuDTTrackAssembler::print | ( | void | ) | const |
print result of Track Assembler
Definition at line 478 of file L1MuDTTrackAssembler.cc.
References gather_cfg::cout, m_theAddresses, m_theBitMaps, m_thePriorityTable1, m_thePriorityTable2, and m_theTCs.
Referenced by run(), and L1MuDTSectorProcessor::run().
|
staticprivate |
12 bit priority encoder
Definition at line 942 of file L1MuDTTrackAssembler.cc.
References i, and query::result.
Referenced by runEncoderSubUnit1(), and runEncoderSubUnit2().
|
staticprivate |
21 bit priority encoder
Definition at line 990 of file L1MuDTTrackAssembler.cc.
References i, and query::result.
Referenced by runEncoderSubUnit2().
|
staticprivate |
22 bit priority encoder
Definition at line 974 of file L1MuDTTrackAssembler.cc.
References i, and query::result.
Referenced by runEncoderSubUnit1().
|
staticprivate |
4 bit priority encoder
Definition at line 958 of file L1MuDTTrackAssembler.cc.
References i, and query::result.
Referenced by runEncoderSubUnit1(), and runEncoderSubUnit2().
|
virtual |
reset Track Assembler
Implements L1AbstractProcessor.
Definition at line 459 of file L1MuDTTrackAssembler.cc.
References i, j, m_theAddresses, m_theBitMaps, m_theLastAddress, m_theLastAddressI, m_thePriorityTable1, m_thePriorityTable2, m_theTCs, L1MuDTAddressArray::reset(), and UNDEF.
Referenced by L1MuDTSectorProcessor::reset().
|
virtual |
run Track Assembler
Reimplemented from L1AbstractProcessor.
Definition at line 70 of file L1MuDTTrackAssembler.cc.
References addressEncoder12(), addressEncoder12s(), gather_cfg::cout, L1MuDTTFConfig::Debug(), L1MuDTSectorProcessor::EU(), EX12, EX13, EX14, EX23, EX24, EX34, getCancelationTable(), L1MuDTExtrapolationUnit::getQSTable(), i, m_sp, m_theAddresses, m_theBitMaps, m_theLastAddress, m_theLastAddressI, m_thePriorityTable1, m_thePriorityTable2, m_theTCs, p1, p2, print(), L1MuDTAddressArray::reset(), runAddressAssignment1(), runAddressAssignment2(), runEncoderSubUnit1(), runEncoderSubUnit2(), L1MuDTAddressArray::setStation(), relativeConstraints::station, L1MuDTAddressArray::station(), T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, and UNDEF.
Referenced by L1MuDTSectorProcessor::run().
|
private |
run the first Address Assignment Sub-Unit
Definition at line 689 of file L1MuDTTrackAssembler.cc.
References m_theAddresses, m_theBitMaps, m_theLastAddress, m_theTCs, L1MuDTAddressArray::setStations(), T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, tc2bitmap(), and UNDEF.
Referenced by run().
|
private |
run the second Address Assignment Sub-Unit
Definition at line 824 of file L1MuDTTrackAssembler.cc.
References m_theAddresses, m_theBitMaps, m_theLastAddress, m_theLastAddressI, m_theTCs, L1MuDTAddressArray::setStations(), T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, tc2bitmap(), and UNDEF.
Referenced by run().
|
private |
run the first Priority Encoder Sub-Unit
Definition at line 494 of file L1MuDTTrackAssembler.cc.
References m_thePriorityTable1, priorityEncoder12(), priorityEncoder22(), priorityEncoder4(), subBitset68(), vdt::x, and detailsBasic3DVector::y.
Referenced by run().
|
private |
run the second Priority Encoder Sub-Unit
Definition at line 596 of file L1MuDTTrackAssembler.cc.
References m_thePriorityTable2, priorityEncoder12(), priorityEncoder21(), priorityEncoder4(), subBitset56(), vdt::x, and detailsBasic3DVector::y.
Referenced by run().
|
staticprivate |
get sub-bitmap of a 56-bit word
Definition at line 1064 of file L1MuDTTrackAssembler.cc.
References i, pos, and alignCSCRings::s.
Referenced by runEncoderSubUnit2().
|
staticprivate |
get sub-bitmap of a 68-bit word
Definition at line 1048 of file L1MuDTTrackAssembler.cc.
References i, pos, and alignCSCRings::s.
Referenced by runEncoderSubUnit1().
|
inline |
return bitmap of found track
Definition at line 74 of file L1MuDTTrackAssembler.h.
References errorMatrix2Lands_multiChannel::id, and m_theBitMaps.
Referenced by L1MuDTAssignmentUnit::getPtMethod().
|
inline |
return Track Class of found track
Definition at line 71 of file L1MuDTTrackAssembler.h.
References errorMatrix2Lands_multiChannel::id, and m_theTCs.
Referenced by L1MuDTAssignmentUnit::QuaAU(), and L1MuDTAssignmentUnit::run().
|
private |
Definition at line 128 of file L1MuDTTrackAssembler.h.
Referenced by run().
|
private |
Definition at line 137 of file L1MuDTTrackAssembler.h.
Referenced by address(), print(), reset(), run(), runAddressAssignment1(), and runAddressAssignment2().
|
private |
Definition at line 136 of file L1MuDTTrackAssembler.h.
Referenced by print(), reset(), run(), runAddressAssignment1(), runAddressAssignment2(), and trackBitMap().
|
private |
Definition at line 132 of file L1MuDTTrackAssembler.h.
Referenced by reset(), run(), runAddressAssignment1(), and runAddressAssignment2().
|
private |
Definition at line 133 of file L1MuDTTrackAssembler.h.
Referenced by reset(), run(), and runAddressAssignment2().
|
private |
Definition at line 130 of file L1MuDTTrackAssembler.h.
Referenced by print(), reset(), run(), and runEncoderSubUnit1().
|
private |
Definition at line 131 of file L1MuDTTrackAssembler.h.
Referenced by print(), reset(), run(), and runEncoderSubUnit2().
|
private |
Definition at line 135 of file L1MuDTTrackAssembler.h.
Referenced by isEmpty(), print(), reset(), run(), runAddressAssignment1(), runAddressAssignment2(), and trackClass().