39 m_sorters.at(
i)->setBxRange(firstBx, numberOfBx);
68 return m_sorters.at(2 * fpga)->getOutputCands();
70 return vector<L1GctEmCand>(0);
77 return m_sorters.at(2 * fpga + 1)->getOutputCands();
79 return vector<L1GctEmCand>(0);
84 s <<
"===L1GctEmLeafCard===" << endl;
85 s <<
"ID = " << card.
m_id << endl;
86 s <<
"No of Electron Sorters = " << card.
m_sorters.size() << endl;
89 s <<
"===ElectronSorter===" << std::endl;
90 s <<
"ElectronSorter no: " <<
i << endl << (*card.
m_sorters.at(
i));
void reset()
complete reset of processor
std::vector< L1GctEmCand > getOutputNonIsoEmCands(int fpga)
get the output candidates
void fetchInput() override
fetch input data
ostream & operator<<(ostream &s, const L1GctEmLeafCard &card)
void setNextBx(const int bxnum)
clear input data buffers and process a new bunch crossing
std::vector< L1GctEmCand > getOutputIsoEmCands(int fpga)
get the output candidates
static const unsigned N_SORTERS
Class that sorts electron candidates.
std::vector< L1GctElectronSorter * > m_sorters
processing - 0,2 are iso sorters, 1,3 are non-iso
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
~L1GctEmLeafCard() override
destruct
void reset()
clear internal trigger data buffers
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
void setNextBx(const int bxnum)
clear input data buffers and process a new bunch crossing
Emulates a leaf card programmed for electron sorting.
L1GctEmLeafCard(int id)
construct with ID
void process() override
process the event