Belle II Software
development
ERecoDistributor.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
#ifndef EREVENTDIST_H
9
#define EREVENTDIST_H
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 "daq/rfarm/manager/RFServerBase.h"
20
21
#define MAXNODES 256
22
23
namespace
Belle2
{
29
class
ERecoDistributor
:
public
RFServerBase
{
30
public
:
31
ERecoDistributor
(std::string conffile);
32
~ERecoDistributor
();
33
34
// Functions to be hooked to NSM
35
int
Configure(
NSMmsg
*,
NSMcontext
*)
override
;
36
int
UnConfigure(
NSMmsg
*,
NSMcontext
*)
override
;
37
int
Start(
NSMmsg
*,
NSMcontext
*)
override
;
38
int
Stop(
NSMmsg
*,
NSMcontext
*)
override
;
39
int
Restart(
NSMmsg
*,
NSMcontext
*)
override
;
40
41
// Server function
42
void
server();
43
44
private
:
45
RFConf
* m_conf;
46
RFSharedMem
* m_shm;
47
RFProcessManager
* m_proc;
48
RFLogManager
* m_log;
49
RFFlowStat
* m_flow;
50
RingBuffer
* m_rbufin;
51
52
int
m_pid_recv[MAXNODES];
53
int
m_pid_sender[MAXNODES];
54
int
m_nnodes;
55
int
m_nrecv;
56
57
};
58
60
}
61
#endif
62
63
64
65
Belle2::ERecoDistributor
Definition:
ERecoDistributor.h:29
Belle2::RFConf
Definition:
RFConf.h:24
Belle2::RFFlowStat
Definition:
RFFlowStat.h:27
Belle2::RFLogManager
Definition:
RFLogManager.h:18
Belle2::RFProcessManager
Definition:
RFProcessManager.h:22
Belle2::RFServerBase
Definition:
RFServerBase.h:19
Belle2::RFSharedMem
Definition:
RFSharedMem.h:51
Belle2::RingBuffer
Class to manage a Ring Buffer placed in an IPC shared memory.
Definition:
RingBuffer.h:39
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:17
NSMcontext_struct
Definition:
nsmlib2.h:71
NSMmsg
Definition:
nsm2.h:224
daq
expreco
include
ERecoDistributor.h
Generated on Fri Nov 8 2024 02:35:04 for Belle II Software by
1.9.6