Belle II Software
release-05-01-25
DqmMemFile.h
1
#ifndef DQM_MEMFILE
2
#define DQM_MEMFILE
3
//+
4
// File : DqmMemFile.h
5
// Description : Basic tools to pass ROOT histograms over shared memory
6
//
7
// Author : Ryosuke Itoh, IPNS, KEK
8
// Date : 6 - Jan - 2016
9
//-
10
11
#include <string>
12
13
#include <daq/rfarm/manager/SharedMem.h>
14
#include <framework/pcore/EvtMessage.h>
15
16
#include "TMemFile.h"
17
#include "TDirectory.h"
18
19
#define MEMFILESIZE 128000000
20
21
namespace
Belle2
{
26
class
MsgHandler;
27
28
class
DqmMemFile
{
29
public
:
30
DqmMemFile
(std::string name =
"dqmhisto"
,
31
std::string mode =
"readonly"
,
int
size = MEMFILESIZE);
32
DqmMemFile
(
int
shm_id,
int
sem_id,
33
std::string mode =
"readonly"
,
int
size = MEMFILESIZE);
34
~
DqmMemFile
();
35
36
// Sender function
37
TMemFile* GetMemFile();
38
int
UpdateSharedMem();
39
int
ClearSharedMem();
40
TMemFile* LoadMemFile();
41
42
// Receiver functions
43
EvtMessage
* StreamMemFile();
44
45
private
:
46
int
StreamHistograms(TDirectory* curdir,
MsgHandler
* msg,
int
& nobjs);
47
48
private
:
49
SharedMem
* m_shm;
50
TMemFile* m_memfile;
51
char
* m_buf;
52
std::string m_name;
53
int
m_size;
54
int
m_mode;
55
};
57
}
58
#endif
59
Belle2::EvtMessage
Class to manage streamed object.
Definition:
EvtMessage.h:60
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::SharedMem
Definition:
SharedMem.h:20
Belle2::DqmMemFile
Definition:
DqmMemFile.h:28
Belle2::MsgHandler
A class to encode/decode an EvtMessage.
Definition:
MsgHandler.h:104
daq
dqm
include
DqmMemFile.h
Generated on Fri Nov 5 2021 03:49:00 for Belle II Software by
1.8.17