Belle II Software  release-08-01-10
ROISenderModule.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 
9 #pragma once
10 
11 #include <framework/core/Module.h>
12 #include <framework/datastore/StoreObjPtr.h>
13 #include <framework/dataobjects/EventMetaData.h>
14 #include <tracking/dataobjects/ROIpayload.h>
15 #include <string>
16 
17 #include <mqueue.h>
18 
19 namespace Belle2 {
31  class ROISenderModule : public Module {
32 
33  public:
34 
39 
40 
41  private:
42 
48  std::vector <int> m_histo;
49 
53  void initialize() override final;
54 
55  void event() override final;
56 
60  void terminate() override final;
61 
62  std::string m_messageQueueName;
64  std::string m_ROIpayloadName;
72  void openMessageQueue(const char* log_string);
73  void closeMessageQueue(const char* log_string);
74  /* cppcheck-suppress unusedPrivateFunction */
75  void unlinkMessageQueue(const char* log_string);
76  };
78 }
Base class for Modules.
Definition: Module.h:72
The ROI to ONSEN Module.
void openMessageQueue(const char *log_string)
open message queue
void initialize() override final
Initializes the Module.
void unlinkMessageQueue(const char *log_string)
unlink message queue
std::string m_messageQueueName
message queue name
std::string m_ROIpayloadName
ROI payload name.
const char * m_messageQueueNameCstring
message queue name c string
ROISenderModule()
Constructor of the module.
int m_messageQueueMsgSize
message queue message size
int m_messageQueueDepth
message queue depth
mqd_t m_messageQueue
message queue
void terminate() override final
Termination action.
StoreObjPtr< EventMetaData > m_eventMetaData
Input ptr for EventMetaData.
void event() override final
This method is the core of the module.
void closeMessageQueue(const char *log_string)
close message queue
std::vector< int > m_histo
poor mans histogramming in a vector
StoreObjPtr< ROIpayload > m_roiPayload
Input ptr for RoiPayload.
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.