Belle II Software  release-08-01-10
HistoServer.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 HISTOSERVER_H
9 #define HISTOSERVER_H
10 
11 #include <string>
12 
13 #include <daq/dataflow/EvtSocket.h>
14 #include <daq/dataflow/EvtSocketManager.h>
15 
16 #include <daq/dqm/DqmMemFile.h>
17 
18 #include <daq/dqm/HistoManager.h>
19 
20 #define MAXBUFSIZE 160000000
21 
22 #define MAPFILESIZE 512000000
23 
24 // interval to invoke histogram merge (in msec*2)
25 #define MERGE_INTERVAL 5000
26 
27 namespace Belle2 {
33  class HistoServer {
34  public:
35  HistoServer(int port, const std::string& mapfile);
36  ~HistoServer();
37 
38  int init();
39 
40  int server(); // Loop
41 
42  private:
43  EvtSocketRecv* m_sock;
44  EvtSocketManager* m_man;
45  int m_port;
46  int m_force_exit;
47 
48  private:
49  std::string m_filename;
50  DqmMemFile* m_memfile;
51  HistoManager* m_hman;
52  };
54 }
55 #endif
56 
Abstract base class for different kinds of events.