Belle II Software  release-05-02-19
ROISenderModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2011 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Giulia Casarosa, Eugenio Paoloni, Bjoern Spruck *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <framework/datastore/StoreObjPtr.h>
15 #include <framework/dataobjects/EventMetaData.h>
16 #include <tracking/dataobjects/ROIpayload.h>
17 #include <string>
18 
19 #include <mqueue.h>
20 
21 namespace Belle2 {
33  class ROISenderModule : public Module {
34 
35  public:
36 
41 
42 
43  private:
44 
50  std::vector <int> m_histo;
51 
55  void initialize() override final;
56 
57  void event() override final;
58 
62  void terminate() override final;
63 
64  std::string m_messageQueueName;
65  const char* m_messageQueueNameCstring;
66  std::string m_ROIpayloadName;
71  mqd_t m_messageQueue;
74  void openMessageQueue(const char* log_string);
75  void closeMessageQueue(const char* log_string);
76  /* cppcheck-suppress unusedPrivateFunction */
77  void unlinkMessageQueue(const char* log_string);
78  };
80 }
Belle2::ROISenderModule::openMessageQueue
void openMessageQueue(const char *log_string)
open message queue
Definition: ROISenderModule.cc:130
Belle2::ROISenderModule::m_messageQueueMsgSize
int m_messageQueueMsgSize
message queue message size
Definition: ROISenderModule.h:77
Belle2::ROISenderModule::m_roiPayload
StoreObjPtr< ROIpayload > m_roiPayload
Input ptr for RoiPayload.
Definition: ROISenderModule.h:54
Belle2::ROISenderModule::m_messageQueueDepth
int m_messageQueueDepth
message queue depth
Definition: ROISenderModule.h:76
Belle2::ROISenderModule::unlinkMessageQueue
void unlinkMessageQueue(const char *log_string)
unlink message queue
Definition: ROISenderModule.cc:171
Belle2::ROISenderModule::ROISenderModule
ROISenderModule()
Constructor of the module.
Definition: ROISenderModule.cc:28
Belle2::ROISenderModule::m_messageQueueName
std::string m_messageQueueName
message queue name
Definition: ROISenderModule.h:72
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::ROISenderModule::closeMessageQueue
void closeMessageQueue(const char *log_string)
close message queue
Definition: ROISenderModule.cc:155
Belle2::ROISenderModule::m_histo
std::vector< int > m_histo
poor mans histogramming in a vector
Definition: ROISenderModule.h:58
Belle2::ROISenderModule::initialize
void initialize() override final
Initializes the Module.
Definition: ROISenderModule.cc:44
Belle2::ROISenderModule::m_messageQueue
mqd_t m_messageQueue
message queue
Definition: ROISenderModule.h:79
Belle2::ROISenderModule::event
void event() override final
This method is the core of the module.
Definition: ROISenderModule.cc:67
Belle2::ROISenderModule::m_eventMetaData
StoreObjPtr< EventMetaData > m_eventMetaData
Input ptr for EventMetaData.
Definition: ROISenderModule.h:56
Belle2::ROISenderModule::terminate
void terminate() override final
Termination action.
Definition: ROISenderModule.cc:119
Belle2::ROISenderModule::m_ROIpayloadName
std::string m_ROIpayloadName
ROI payload name.
Definition: ROISenderModule.h:74
Belle2::ROISenderModule::m_messageQueueNameCstring
const char * m_messageQueueNameCstring
message queue name c string
Definition: ROISenderModule.h:73