Belle II Software development
RFRoiSender.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include "daq/rfarm/manager/RFConf.h"
11#include "daq/rfarm/manager/RFSharedMem.h"
12#include "daq/rfarm/manager/RFProcessManager.h"
13#include "daq/rfarm/manager/RFLogManager.h"
14#include "daq/rfarm/manager/RFFlowStat.h"
15#include "daq/rfarm/manager/RFServerBase.h"
16
17namespace Belle2 {
23 class RFRoiSender : public RFServerBase {
24 public:
25 RFRoiSender(std::string conffile);
27
28 // Functions to be hooked to NSM
29 int Configure(NSMmsg*, NSMcontext*) override;
30 int UnConfigure(NSMmsg*, NSMcontext*) override;
31 int Start(NSMmsg*, NSMcontext*) override;
32 int Stop(NSMmsg*, NSMcontext*) override;
33 int Restart(NSMmsg*, NSMcontext*) override;
34
35 // Server function
36 void server();
37
38 // Cleanup
39 void cleanup();
40
41 private:
42 RFConf* m_conf{};
43 RFProcessManager* m_proc{};
44 RFLogManager* m_log{};
45 RFSharedMem* m_shm{};
46 RFFlowStat* m_flow{};
47
48 int m_pid_merger{};
49 int m_pid_sender{};
50
51 };
53}
54
Abstract base class for different kinds of events.
Definition: nsm2.h:224