Belle II Software  release-05-01-25
DQMHistAnalysisInputPVSrv.h
1 //+
2 // File : DQMHistAnalysisInputPVSrv.h
3 // Description : Input module for DQM Histogram analysis
4 //
5 // Author : B. Spruck
6 // Date : 25 - Mar - 2017
7 // based on work from Tomoyuki Konno, Tokyo Metropolitan Univerisity
8 //-
9 
10 #pragma once
11 
12 #include <framework/dataobjects/EventMetaData.h>
13 #include <framework/datastore/StoreObjPtr.h>
14 
15 #include <dqm/analysis/modules/DQMHistAnalysis.h>
16 //#include <THttpServer.h>
17 
18 #include <string>
19 #ifdef _BELLE2_EPICS
20 #include "cadef.h"
21 #include "dbDefs.h"
22 #include "epicsString.h"
23 #include "cantProceed.h"
24 #endif
25 
26 namespace Belle2 {
33 #ifdef _BELLE2_EPICS
34 #define MAX_PV_NAME_LEN 40
35 
36  typedef struct {
37  char name[MAX_PV_NAME_LEN];
38  chid mychid;
39  evid myevid;
40  bool changed;
41  TH1* histo;
42  unsigned int binx; // not needed until now
43  unsigned int biny; // not needed until now
44  unsigned int binmax; // store bincount to prevent overflow
45  } MYNODE;
46 #endif
47 
49 
50  // Public functions
51  public:
52 
56 
58  virtual void initialize() override;
59 
61  virtual void beginRun() override;
62  virtual void event() override;
63  virtual void endRun() override;
64  virtual void terminate() override;
65 
66  // Data members
67  private:
71  bool m_callback;
73  bool m_server;
74  //THttpServer* m_serv{0};
75  //int m_nhist = 0;
76 
78  std::vector< std::vector<std::string>> m_histlist;
79 
80 #ifdef _BELLE2_EPICS
81  std::vector<MYNODE*> pmynode;
82 #endif
83 
86 
88  unsigned int m_expno = 0;
90  unsigned int m_runno = 0;
92  unsigned int m_count = 0;
93  };
95 } // end namespace Belle2
96 
Belle2::DQMHistAnalysisInputPVSrvModule::m_expno
unsigned int m_expno
Exp number.
Definition: DQMHistAnalysisInputPVSrv.h:88
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::DQMHistAnalysisInputPVSrvModule::event
virtual void event() override
This method is the core of the module.
Definition: DQMHistAnalysisInputPVSrv.cc:195
Belle2::DQMHistAnalysisInputPVSrvModule::beginRun
virtual void beginRun() override
Module functions to be called from event process.
Definition: DQMHistAnalysisInputPVSrv.cc:190
Belle2::DQMHistAnalysisInputPVSrvModule::m_server
bool m_server
Whether to start http server on port 8082.
Definition: DQMHistAnalysisInputPVSrv.h:73
Belle2::DQMHistAnalysisInputPVSrvModule::m_runno
unsigned int m_runno
Run number.
Definition: DQMHistAnalysisInputPVSrv.h:90
Belle2::DQMHistAnalysisInputPVSrvModule::m_callback
bool m_callback
Whether to use EPICS callback for changes.
Definition: DQMHistAnalysisInputPVSrv.h:71
Belle2::DQMHistAnalysisInputPVSrvModule
Class definition for the output module of Sequential ROOT I/O.
Definition: DQMHistAnalysisInputPVSrv.h:48
Belle2::DQMHistAnalysisInputPVSrvModule::m_histlist
std::vector< std::vector< std::string > > m_histlist
Parameter list for histograms.
Definition: DQMHistAnalysisInputPVSrv.h:78
Belle2::DQMHistAnalysisInputPVSrvModule::m_interval
int m_interval
The refresh interval in ms.
Definition: DQMHistAnalysisInputPVSrv.h:69
Belle2::DQMHistAnalysisInputPVSrvModule::m_eventMetaDataPtr
StoreObjPtr< EventMetaData > m_eventMetaDataPtr
The metadata for each event.
Definition: DQMHistAnalysisInputPVSrv.h:85
Belle2::DQMHistAnalysisInputPVSrvModule::initialize
virtual void initialize() override
Module functions to be called from main process.
Definition: DQMHistAnalysisInputPVSrv.cc:101
Belle2::DQMHistAnalysisInputPVSrvModule::terminate
virtual void terminate() override
This method is called at the end of the event processing.
Definition: DQMHistAnalysisInputPVSrv.cc:286
Belle2::DQMHistAnalysisInputPVSrvModule::endRun
virtual void endRun() override
This method is called if the current run ends.
Definition: DQMHistAnalysisInputPVSrv.cc:280
Belle2::DQMHistAnalysisInputPVSrvModule::m_count
unsigned int m_count
Event number.
Definition: DQMHistAnalysisInputPVSrv.h:92
Belle2::DQMHistAnalysisModule
The base class for the histogram analysis module.
Definition: DQMHistAnalysis.h:27
Belle2::DQMHistAnalysisInputPVSrvModule::DQMHistAnalysisInputPVSrvModule
DQMHistAnalysisInputPVSrvModule()
Constructor / Destructor.
Definition: DQMHistAnalysisInputPVSrv.cc:82