 |
Belle II Software
release-05-01-25
|
12 #include <framework/pcore/zmq/connections/ZMQRawConnection.h>
13 #include <framework/pcore/zmq/utils/ZMQParent.h>
14 #include <framework/pcore/zmq/messages/ZMQNoIdMessage.h>
15 #include <daq/roisend/h2m.h>
33 class ZMQDataAndROIOutput :
public ZMQConnection {
36 ZMQDataAndROIOutput(
const std::string& dataAddress,
const std::string& roiAddress,
bool addEventSize,
37 const std::shared_ptr<ZMQParent>& parent);
45 void handleEvent(std::unique_ptr<ZMQNoIdMessage> message);
51 std::vector<zmq::socket_t*>
getSockets() const final;
void handleEvent(std::unique_ptr< ZMQNoIdMessage > message)
Send the normal data message to raw and the additional message to ROI.
ZMQDataAndROIOutput(const std::string &dataAddress, const std::string &roiAddress, bool addEventSize, const std::shared_ptr< ZMQParent > &parent)
Initialize the raw and roi connection.
std::string getMonitoringJSON() const final
Get the monitoring JSON from the raw connection.
bool isReady() const final
Ready only when both sockets are ready.
ZMQRawOutput m_roiOutput
The used ROI connection.
std::vector< zmq::socket_t * > getSockets() const final
Return both sockets for polling.
ZMQRawOutput m_dataOutput
The used raw connection.
Abstract base class for different kinds of events.
void handleIncomingData()
Handle both a socket (dis)connect by raw or ROI.
std::string getROIMonitoringJSON() const
Get the monitoring JSON from the ROI connection.