Belle II Software  release-08-01-10
EventSampler.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 EVENT_SAMPLER_H
9 #define EVENT_SAMPLER_H
10 
11 #include <string>
12 #include <vector>
13 
14 #include <daq/dataflow/EvtSocket.h>
15 #include <framework/pcore/RingBuffer.h>
16 
17 #define MAXEVTSIZE 80000000
18 
19 namespace Belle2 {
25  class EventSampler {
26  public:
27  EventSampler(std::vector<std::string> nodes, int port, std::string rbufname, int interval = 5000);
28  ~EventSampler();
29  int server(); // Loop
30 
31  private:
32  std::vector<EvtSocketSend*> m_socklist;
33  RingBuffer* m_rbuf;
34  int m_port;
35  //int m_force_exit;
36  int m_interval;
37  };
39 }
40 #endif
Class to manage a Ring Buffer placed in an IPC shared memory.
Definition: RingBuffer.h:39
Abstract base class for different kinds of events.