CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
L1MuDTTrackAssembler Class Reference

#include <L1MuDTTrackAssembler.h>

Inheritance diagram for L1MuDTTrackAssembler:
L1AbstractProcessor

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 void run (const edm::EventSetup &c)
 
virtual ~L1AbstractProcessor ()
 destructor More...
 
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 L1MuDTSectorProcessorm_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]
 

Detailed Description

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 49 of file L1MuDTTrackAssembler.h.

Constructor & Destructor Documentation

L1MuDTTrackAssembler::L1MuDTTrackAssembler ( const L1MuDTSectorProcessor sp)

constructor

Definition at line 45 of file L1MuDTTrackAssembler.cc.

L1MuDTTrackAssembler::~L1MuDTTrackAssembler ( )
virtual

destructor

Definition at line 56 of file L1MuDTTrackAssembler.cc.

Member Function Documentation

int L1MuDTTrackAssembler::address ( int  id,
int  stat 
) const
inline

get address of a single station of selected track candidate

Definition at line 78 of file L1MuDTTrackAssembler.h.

References m_theAddresses, and L1MuDTAddressArray::station().

78 { return m_theAddresses[id].station(stat); }
L1MuDTAddressArray m_theAddresses[2]
unsigned short station(int stat) const
get address of a given station [1-4]
L1MuDTAddressArray L1MuDTTrackAssembler::address ( int  id) const
inline

get address-array of selected track candidate

Definition at line 81 of file L1MuDTTrackAssembler.h.

References m_theAddresses.

81 { return m_theAddresses[id]; }
L1MuDTAddressArray m_theAddresses[2]
unsigned int L1MuDTTrackAssembler::addressEncoder12 ( const std::bitset< 12 > &  input)
staticprivate

12 bit address encoder

Definition at line 1004 of file L1MuDTTrackAssembler.cc.

unsigned int L1MuDTTrackAssembler::addressEncoder12s ( const std::bitset< 12 > &  input)
staticprivate

special 12 bit address encoder

Definition at line 1025 of file L1MuDTTrackAssembler.cc.

bitset< 56 > L1MuDTTrackAssembler::getCancelationTable ( unsigned int  p)
staticprivate

cancel Out Table

Definition at line 1078 of file L1MuDTTrackAssembler.cc.

bool L1MuDTTrackAssembler::isEmpty ( int  id) const
inline

is it a valid Track Class?

Definition at line 75 of file L1MuDTTrackAssembler.h.

References m_theTCs, and UNDEF.

75 { return (m_theTCs[id] == UNDEF); }
void L1MuDTTrackAssembler::print ( void  ) const

print result of Track Assembler

Definition at line 476 of file L1MuDTTrackAssembler.cc.

unsigned int L1MuDTTrackAssembler::priorityEncoder12 ( const std::bitset< 12 > &  input)
staticprivate

12 bit priority encoder

Definition at line 940 of file L1MuDTTrackAssembler.cc.

unsigned int L1MuDTTrackAssembler::priorityEncoder21 ( const std::bitset< 21 > &  input)
staticprivate

21 bit priority encoder

Definition at line 988 of file L1MuDTTrackAssembler.cc.

unsigned int L1MuDTTrackAssembler::priorityEncoder22 ( const std::bitset< 22 > &  input)
staticprivate

22 bit priority encoder

Definition at line 972 of file L1MuDTTrackAssembler.cc.

unsigned int L1MuDTTrackAssembler::priorityEncoder4 ( const std::bitset< 4 > &  input)
staticprivate

4 bit priority encoder

Definition at line 956 of file L1MuDTTrackAssembler.cc.

void L1MuDTTrackAssembler::reset ( void  )
virtual

reset Track Assembler

Implements L1AbstractProcessor.

Definition at line 457 of file L1MuDTTrackAssembler.cc.

void L1MuDTTrackAssembler::run ( void  )
virtual

run Track Assembler

Reimplemented from L1AbstractProcessor.

Definition at line 68 of file L1MuDTTrackAssembler.cc.

void L1MuDTTrackAssembler::runAddressAssignment1 ( int  global,
int  group 
)
private

run the first Address Assignment Sub-Unit

Definition at line 687 of file L1MuDTTrackAssembler.cc.

void L1MuDTTrackAssembler::runAddressAssignment2 ( int  global,
int  group 
)
private

run the second Address Assignment Sub-Unit

Definition at line 822 of file L1MuDTTrackAssembler.cc.

void L1MuDTTrackAssembler::runEncoderSubUnit1 ( unsigned &  global,
unsigned &  group,
unsigned &  priority 
)
private

run the first Priority Encoder Sub-Unit

Definition at line 492 of file L1MuDTTrackAssembler.cc.

void L1MuDTTrackAssembler::runEncoderSubUnit2 ( unsigned &  global,
unsigned &  group,
unsigned &  priority 
)
private

run the second Priority Encoder Sub-Unit

Definition at line 594 of file L1MuDTTrackAssembler.cc.

unsigned long L1MuDTTrackAssembler::subBitset56 ( const std::bitset< 56 > &  input,
int  pos,
int  length 
)
staticprivate

get sub-bitmap of a 56-bit word

Definition at line 1062 of file L1MuDTTrackAssembler.cc.

unsigned long L1MuDTTrackAssembler::subBitset68 ( const std::bitset< 68 > &  input,
int  pos,
int  length 
)
staticprivate

get sub-bitmap of a 68-bit word

Definition at line 1046 of file L1MuDTTrackAssembler.cc.

const std::bitset<4>& L1MuDTTrackAssembler::trackBitMap ( int  id) const
inline

return bitmap of found track

Definition at line 72 of file L1MuDTTrackAssembler.h.

References m_theBitMaps.

72 { return m_theBitMaps[id]; }
std::bitset< 4 > m_theBitMaps[2]
TrackClass L1MuDTTrackAssembler::trackClass ( int  id) const
inline

return Track Class of found track

Definition at line 69 of file L1MuDTTrackAssembler.h.

References m_theTCs.

69 { return m_theTCs[id]; }

Member Data Documentation

const L1MuDTSectorProcessor& L1MuDTTrackAssembler::m_sp
private

Definition at line 126 of file L1MuDTTrackAssembler.h.

L1MuDTAddressArray L1MuDTTrackAssembler::m_theAddresses[2]
private

Definition at line 135 of file L1MuDTTrackAssembler.h.

Referenced by address().

std::bitset<4> L1MuDTTrackAssembler::m_theBitMaps[2]
private

Definition at line 134 of file L1MuDTTrackAssembler.h.

Referenced by trackBitMap().

unsigned int L1MuDTTrackAssembler::m_theLastAddress[68]
private

Definition at line 130 of file L1MuDTTrackAssembler.h.

unsigned int L1MuDTTrackAssembler::m_theLastAddressI[12]
private

Definition at line 131 of file L1MuDTTrackAssembler.h.

std::bitset<68> L1MuDTTrackAssembler::m_thePriorityTable1
private

Definition at line 128 of file L1MuDTTrackAssembler.h.

std::bitset<56> L1MuDTTrackAssembler::m_thePriorityTable2
private

Definition at line 129 of file L1MuDTTrackAssembler.h.

TrackClass L1MuDTTrackAssembler::m_theTCs[2]
private

Definition at line 133 of file L1MuDTTrackAssembler.h.

Referenced by isEmpty(), and trackClass().