Belle II Software  release-05-01-25
DQMHistOutputToEPICS.h
1 //+
2 // File : DQMHistOutputToEPICS.h
3 // Description : Write Histogram Content to EPICS Arrays
4 //
5 // Author : Bjoern Spruck, University Mainz
6 // Date : 2019
7 //-
8 
9 #pragma once
10 
11 #include <dqm/analysis/modules/DQMHistAnalysis.h>
12 #include <string>
13 
14 #ifdef _BELLE2_EPICS
15 #include "cadef.h"
16 #include "dbDefs.h"
17 #include "epicsString.h"
18 #include "cantProceed.h"
19 #endif
20 
21 namespace Belle2 {
29 
30 #ifdef _BELLE2_EPICS
31  typedef struct {
32  chid mychid;
33  chid mychid_last;
34  std::string histoname;
35  std::vector <double> data;
36  } MYNODE;
37 #endif
38 
39  // Public functions
40  public:
41 
46 
47  private:
48 
50  void initialize(void) override final;
51 
53  void beginRun(void) override final;
54  void endRun(void) override final;
55  void event(void) override final;
56  void terminate(void) override final;
57 
59  void copyToLast(void);
61  void cleanPVs(void);
62 
63  // Data members
65  std::vector< std::vector<std::string>> m_histlist;
66 
68  bool m_dirty = false;
69 
70 #ifdef _BELLE2_EPICS
71  std::vector<MYNODE*> pmynode;
72 #endif
73 
74  };
76 } // end namespace Belle2
77 
Belle2::DQMHistOutputToEPICSModule::event
void event(void) override final
This method is the core of the module.
Definition: DQMHistOutputToEPICS.cc:96
Belle2::DQMHistOutputToEPICSModule::~DQMHistOutputToEPICSModule
~DQMHistOutputToEPICSModule()
Destructor.
Definition: DQMHistOutputToEPICS.cc:34
Belle2::DQMHistOutputToEPICSModule::copyToLast
void copyToLast(void)
copy over to "last" PV
Definition: DQMHistOutputToEPICS.cc:131
Belle2::DQMHistOutputToEPICSModule::beginRun
void beginRun(void) override final
Module functions to be called from event process.
Definition: DQMHistOutputToEPICS.cc:89
Belle2::DQMHistOutputToEPICSModule::m_histlist
std::vector< std::vector< std::string > > m_histlist
Parameter list for histograms.
Definition: DQMHistOutputToEPICS.h:65
Belle2::DQMHistOutputToEPICSModule::terminate
void terminate(void) override final
This method is called at the end of the event processing.
Definition: DQMHistOutputToEPICS.cc:156
Belle2::DQMHistOutputToEPICSModule::m_dirty
bool m_dirty
Flag to mark that a new runs as started anddata not copied to last PV.
Definition: DQMHistOutputToEPICS.h:68
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DQMHistOutputToEPICSModule::endRun
void endRun(void) override final
This method is called if the current run ends.
Definition: DQMHistOutputToEPICS.cc:150
Belle2::DQMHistOutputToEPICSModule
Write DQM Histogram Content to EPICS Arrays.
Definition: DQMHistOutputToEPICS.h:28
Belle2::DQMHistOutputToEPICSModule::cleanPVs
void cleanPVs(void)
set PVs to zero content (at run start)
Definition: DQMHistOutputToEPICS.cc:70
Belle2::DQMHistOutputToEPICSModule::DQMHistOutputToEPICSModule
DQMHistOutputToEPICSModule()
Constructor.
Definition: DQMHistOutputToEPICS.cc:24
Belle2::DQMHistAnalysisModule
The base class for the histogram analysis module.
Definition: DQMHistAnalysis.h:27
Belle2::DQMHistOutputToEPICSModule::initialize
void initialize(void) override final
Module functions to be called from main process.
Definition: DQMHistOutputToEPICS.cc:41