Belle II Software  release-05-02-19
EventSampler.h
1 #ifndef EVENT_SAMPLER_H
2 #define EVENT_SAMPLER_H
3 //+
4 // File : EventSampler.h
5 // Description : Fetch events from event processes and place them in a RingBuffer
6 //
7 // Author : Ryosuke Itoh, IPNS, KEK
8 // Date : 31 - Jul - 2017
9 //-
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
Belle2::EventSampler
Definition: EventSampler.h:25
Belle2::RingBuffer
Class to manage a Ring Buffer placed in an IPC shared memory.
Definition: RingBuffer.h:36
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19