22 #ifndef L1MUBM_TRACK_ASSEBMLER_H 23 #define L1MUBM_TRACK_ASSEBMLER_H 116 static unsigned long subBitset68(
const std::bitset<68>& input,
int pos,
int length);
119 static unsigned long subBitset56(
const std::bitset<56>& input,
int pos,
int length);
std::bitset< 4 > m_theBitMaps[2]
static unsigned int priorityEncoder22(const std::bitset< 22 > &input)
22 bit priority encoder
unsigned int m_theLastAddress[68]
std::bitset< 68 > m_thePriorityTable1
virtual void run()
run Track Assembler
void runAddressAssignment2(int global, int group)
run the second Address Assignment Sub-Unit
std::bitset< 56 > m_thePriorityTable2
unsigned short station(int stat) const
get address of a given station [1-4]
static std::string const input
L1MuBMAddressArray m_theAddresses[2]
void runAddressAssignment1(int global, int group)
run the first Address Assignment Sub-Unit
static std::bitset< 56 > getCancelationTable(unsigned int)
cancel Out Table
TrackClass trackClass(int id) const
return Track Class of found track
void print() const
print result of Track Assembler
unsigned int m_theLastAddressI[12]
virtual void reset()
reset Track Assembler
void runEncoderSubUnit2(unsigned &global, unsigned &group, unsigned &priority)
run the second Priority Encoder Sub-Unit
static unsigned int priorityEncoder21(const std::bitset< 21 > &input)
21 bit priority encoder
static unsigned long subBitset56(const std::bitset< 56 > &input, int pos, int length)
get sub-bitmap of a 56-bit word
static unsigned int priorityEncoder4(const std::bitset< 4 > &input)
4 bit priority encoder
const L1MuBMSectorProcessor & m_sp
L1MuBMAddressArray address(int id) const
get address-array of selected track candidate
bool isEmpty(int id) const
is it a valid Track Class?
static unsigned int addressEncoder12(const std::bitset< 12 > &input)
12 bit address encoder
virtual ~L1MuBMTrackAssembler()
destructor
const std::bitset< 4 > & trackBitMap(int id) const
return bitmap of found track
static unsigned long subBitset68(const std::bitset< 68 > &input, int pos, int length)
get sub-bitmap of a 68-bit word
L1MuBMTrackAssembler(const L1MuBMSectorProcessor &)
constructor
static unsigned int priorityEncoder12(const std::bitset< 12 > &input)
12 bit priority encoder
static unsigned int addressEncoder12s(const std::bitset< 12 > &input)
special 12 bit address encoder
int address(int id, int stat) const
get address of a single station of selected track candidate
void runEncoderSubUnit1(unsigned &global, unsigned &group, unsigned &priority)
run the first Priority Encoder Sub-Unit