18 m_inputLeafCards(leafCards),
19 m_inputEx(MAX_LEAF_CARDS),
20 m_inputEy(MAX_LEAF_CARDS),
21 m_inputEt(MAX_LEAF_CARDS),
22 m_inputHt(MAX_LEAF_CARDS),
23 m_outputEx(0), m_outputEy(0), m_outputEt(0), m_outputHt(0),
25 m_outputExPipe(), m_outputEyPipe(), m_outputEtPipe(), m_outputHtPipe()
33 <<
"L1GctWheelEnergyFpga::L1GctWheelEnergyFpga() : Wheel Energy Fpga ID " <<
m_id <<
" has been incorrectly constructed!\n"
34 <<
"ID number should be 0 or 1.\n";
43 <<
"L1GctWheelEnergyFpga::L1GctWheelEnergyFpga() : Wheel Energy Fpga ID " <<
m_id <<
" has been incorrectly constructed!\n"
45 <<
" leaf card pointers are present.\n";
56 <<
"L1GctWheelEnergyFpga::L1GctWheelEnergyFpga() : Wheel Energy Fpga ID " <<
m_id <<
" has been incorrectly constructed!\n"
57 <<
"Input Leaf card pointer " <<
i <<
" has not been set!\n";
62 edm::LogError(
"L1GctSetupError") <<
"L1GctWheelEnergyFpga has been incorrectly constructed";
72 os <<
"===L1GctWheelEnergyFPGA===" << endl;
73 os <<
"ID : " << fpga.
m_id << endl;
79 os <<
"Input Ex " << endl;
84 os <<
"Input Ey " << endl;
89 os <<
"Input Et " << endl;
94 os <<
"Input Ht " << endl;
100 os <<
"Output Ey " << fpga.
m_outputEy << endl;
101 os <<
"Output Et " << fpga.
m_outputEt << endl;
102 os <<
"Output Ht " << fpga.
m_outputHt << endl;
178 std::vector< L1GctInternEtSum >
result;
179 for (
int bx=0; bx<
numOfBx(); bx++) {
182 static_cast<int16_t
> (bx-
bxMin()) ) );
185 static_cast<int16_t
> (bx-
bxMin()) ) );
188 static_cast<int16_t
> (bx-
bxMin()) ) );
191 static_cast<int16_t
> (bx-
bxMin()) ) );
Emulates the energy summing on a GCT Wheel card.
virtual void resetPipelines()
etComponentType m_outputEx
output data
std::vector< etTotalType > m_inputEt
L1GctWheelEnergyFpga(int id, std::vector< L1GctJetLeafCard * > leafCards)
Constructor, needs the Leaf cards to be set up first. id should be 0 or 1.
std::vector< etComponentType > m_inputEx
the input components from each input card
static const unsigned int MAX_LEAF_CARDS
Max number of leaf card pointers.
bool m_verbose
Flag to control output messages.
Pipeline< etHadType > m_outputHtPipe
void setInputEnergy(unsigned i, int ex, int ey, unsigned et, unsigned ht)
set input data; not used in normal operation
int bxMin() const
Support for multiple beam crossing operation.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Pipeline< etTotalType > m_outputEtPipe
ABC for a GCT trigger data processing unit.
std::vector< L1GctInternEtSum > getInternalEtSums() const
get the Et sums in internal component format
~L1GctWheelEnergyFpga()
Destructor.
std::vector< etComponentType > m_inputEy
Pipeline< etComponentType > m_outputExPipe
record the output data history
static L1GctInternEtSum fromEmulatorMissEtxOrEty(int missEtxOrEty, bool overFlow, int16_t bx)
static L1GctInternEtSum fromEmulatorTotalEtOrHt(unsigned totEtOrHt, bool overFlow, int16_t bx)
bool m_setupOk
check the setup
std::vector< etHadType > m_inputHt
virtual void resetProcessor()
Separate reset methods for the processor itself and any data stored in pipelines. ...
virtual void process()
process the data, fill output buffers
Pipeline< etComponentType > m_outputEyPipe
void reset()
reset value and overflow to zero
etComponentType m_outputEy
virtual void fetchInput()
get input data from sources; this is the standard way to provide input
void setValue(unsigned value)
Set value from unsigned.
void reset()
reset value and overflow to zero
std::vector< L1GctJetLeafCard * > m_inputLeafCards
the jet leaf card
bool overFlow() const
access overflow
static const unsigned int MAX_LEAF_CARDS
Max number of leaf card pointers.