14 #include <dqm/analysis/modules/DQMHistAnalysisOutputRelayMsg.h>
38 addParam(
"Hostname", m_hostname,
"Hostname of THTTP", std::string(
"localhost"));
39 addParam(
"Port", m_port,
"Port number to THTTP", 9191);
40 B2DEBUG(20,
"DQMHistAnalysisOutputRelayMsg: Constructor done.");
44 DQMHistAnalysisOutputRelayMsgModule::~DQMHistAnalysisOutputRelayMsgModule() { }
46 void DQMHistAnalysisOutputRelayMsgModule::initialize()
48 if (m_sock !=
nullptr)
delete m_sock;
49 m_sock =
new TSocket(m_hostname.c_str(), m_port);
50 B2DEBUG(20,
"DQMHistAnalysisOutputRelayMsg: initialized.");
54 void DQMHistAnalysisOutputRelayMsgModule::beginRun()
56 B2DEBUG(20,
"DQMHistAnalysisOutputRelayMsg: beginRun called.");
60 void DQMHistAnalysisOutputRelayMsgModule::event()
62 B2DEBUG(20,
"DQMHistAnalysisOutputRelayMsg: event called.");
63 TMessage mess(kMESS_OBJECT);
65 TSeqCollection* seq = gROOT->GetListOfCanvases();
71 strftime(mbstr,
sizeof(mbstr),
"%c", localtime(&now));
73 B2INFO(
"[" << mbstr <<
"] before sending " << seq->GetEntries() <<
" objects.");
74 bool first_try =
true;
75 while ((obj = (TObject*)nextkey())) {
76 if (obj->IsA()->InheritsFrom(
"TCanvas")) {
77 TCanvas* c = (TCanvas*) obj;
80 if (m_sock->Send(mess) < 0) {
88 m_sock =
new TSocket(m_hostname.c_str(), m_port);
90 if (m_sock->Send(mess) < 0) {
98 strftime(mbstr,
sizeof(mbstr),
"%c", localtime(&now));
99 B2INFO(
"[" << mbstr <<
"] after sending " << seq->GetEntries() <<
" objects.");
102 void DQMHistAnalysisOutputRelayMsgModule::endRun()
104 B2DEBUG(20,
"DQMHistAnalysisOutputRelayMsg: endRun called");
108 void DQMHistAnalysisOutputRelayMsgModule::terminate()
110 B2DEBUG(20,
"DQMHistAnalysisOutputRelayMsg: terminate called");
The base class for the histogram analysis module.
Class definition for the output module of Sequential ROOT I/O.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.