Belle II Software  release-08-01-10
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 
17 namespace Belle2 {
23  class RFRoiSender : public RFServerBase {
24  public:
25  RFRoiSender(std::string conffile);
26  ~RFRoiSender();
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