Belle II Software  release-05-02-19
RFEventProcessor.h
1 #ifndef RFEVENTPROCESSOR_H
2 #define RFEVENTPROCESSOR_H
3 //+
4 // File : RFEventProcessor.h
5 // Description : receive event, process it by basf2, and send output
6 //
7 // Author : Ryosuke Itoh, IPNS, KEK
8 // Date : 24 - June - 2013
9 //-
10 
11 #include <string>
12 
13 #include "daq/rfarm/manager/RFConf.h"
14 #include "daq/rfarm/manager/RFSharedMem.h"
15 #include "daq/rfarm/manager/RFProcessManager.h"
16 #include "daq/rfarm/manager/RFLogManager.h"
17 #include "daq/rfarm/manager/RFFlowStat.h"
18 
19 #include "framework/pcore/RingBuffer.h"
20 
21 #include "daq/rfarm/manager/RFServerBase.h"
22 
23 #define MAXNODES 256
24 
25 namespace Belle2 {
31  class RFEventProcessor : public RFServerBase {
32  public:
33  RFEventProcessor(std::string conffile);
35 
36  // Functions to be hooked to NSM
37  int Configure(NSMmsg*, NSMcontext*);
38  int UnConfigure(NSMmsg*, NSMcontext*);
39  int Start(NSMmsg*, NSMcontext*);
40  int Stop(NSMmsg*, NSMcontext*);
41  int Restart(NSMmsg*, NSMcontext*);
42 
43  // Server function
44  void server();
45 
46  // Cleanup
47  void cleanup();
48 
49  private:
50  RFConf* m_conf;
51  RFSharedMem* m_shm;
52  RFProcessManager* m_proc;
53  RFLogManager* m_log;
54  RingBuffer* m_rbufin;
55  RingBuffer* m_rbufout;
56  RFFlowStat* m_flow;
57 
58  int m_pid_receiver;
59  int m_pid_basf2;
60  int m_pid_sender;
61  int m_pid_hrecv;
62  int m_pid_hrelay;
63  int m_nnodes;
64  char m_nodename[256];
65 
66  int m_expno;
67  int m_runno;
68 
69  };
70 
72 }
73 #endif
74 
75 
76 
77 
Belle2::RFEventProcessor
Definition: RFEventProcessor.h:31
NSMmsg
Definition: nsm2.h:217
Belle2::RFFlowStat
Definition: RFFlowStat.h:28
Belle2::RFSharedMem
Definition: RFSharedMem.h:51
Belle2::RFLogManager
Definition: RFLogManager.h:18
Belle2::RingBuffer
Class to manage a Ring Buffer placed in an IPC shared memory.
Definition: RingBuffer.h:36
Belle2::RFProcessManager
Definition: RFProcessManager.h:22
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RFServerBase
Definition: RFServerBase.h:20
Belle2::RFConf
Definition: RFConf.h:24
NSMcontext_struct
Definition: nsmlib2.h:66