File indexing completed on 2023-03-17 11:13:25
0001
0002
0003
0004 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCLogicUnit.h"
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 RBCLogicUnit::RBCLogicUnit() : RPCLogicUnit(), m_debug{false} {}
0016
0017 RBCLogicUnit::RBCLogicUnit(const char* logic_type) : RPCLogicUnit(), m_logtype{logic_type}, m_debug{false} {}
0018
0019
0020
0021 RBCLogicUnit::~RBCLogicUnit() {}
0022
0023
0024 bool RBCLogicUnit::initialise() {
0025 LogicTool<RBCLogic> logtool;
0026
0027 m_logic = logtool.retrieve(m_logtype);
0028
0029 if (!m_logic) {
0030 if (m_debug)
0031 std::cout << "RBCLogicUnit> No logic found \n";
0032 return false;
0033 };
0034
0035 return true;
0036 }
0037
0038 void RBCLogicUnit::setlogic(const char* _logic) { m_logtype = std::string(_logic); }
0039
0040 void RBCLogicUnit::setBoardSpecs(const RBCBoardSpecs::RBCBoardConfig& specs) { m_logic->setBoardSpecs(specs); }
0041
0042 void RBCLogicUnit::run(const RBCInput& _input, std::bitset<2>& _decision) {
0043 m_logic->process(_input, _decision);
0044 m_layersignal[0] = m_logic->getlayersignal(0);
0045 m_layersignal[1] = m_logic->getlayersignal(1);
0046 }