Belle II Software  release-08-01-10
RoiSenderCallback.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/slc/runcontrol/RCCallback.h>
11 
12 #include <daq/rfarm/manager/RFConf.h>
13 #include <daq/rfarm/manager/RFProcessManager.h>
14 #include <daq/rfarm/manager/RFSharedMem.h>
15 #include <daq/rfarm/manager/RFLogManager.h>
16 #include <atomic>
17 
18 namespace Belle2 {
24  class RoiSenderCallback : public RCCallback {
25 
26  public:
28 
29  private:
31  void load(const DBObject&, const std::string&) override;
32  void start(int /*expno*/, int /*runno*/) override;
33  void stop(void) override;
34  void recover(const DBObject&, const std::string&) override;
35  void abort(void) override;
36 
37  public:
38  void server();
39 
40  private:
41  RFConf* m_conf{};
42  RFProcessManager* m_proc{};
43  RFLogManager* m_log{};
44  char* m_nodename{};
45  RFSharedMem* m_shm{};
46  std::atomic_int m_pid_merger{};
47  pthread_t m_logthread{};
48 
49  };
50 
52 }
53 
void load(const DBObject &, const std::string &) override
overloaded functions from base class
Abstract base class for different kinds of events.