File indexing completed on 2025-08-03 08:20:56
0001 #include "OnlMon.h"
0002 #include "OnlMonServer.h"
0003
0004 #include <Event/msg_profile.h>
0005
0006 #include <TH1.h>
0007
0008 #include <cstdio> // for printf
0009 #include <iostream>
0010 #include <sstream>
0011
0012 class Event;
0013
0014 OnlMon::OnlMon(const std::string &name)
0015 : OnlMonBase(name)
0016 {
0017 if (name.find('_') != std::string::npos)
0018 {
0019 std::cout << "No underscore (_) in online monitoring server name " << name << " allowed" << std::endl;
0020 exit(1);
0021 }
0022 status = OnlMon::ACTIVE;
0023 return;
0024 }
0025
0026 int OnlMon::process_event_common(Event *evt)
0027 {
0028 int iret = process_event(evt);
0029 return iret;
0030 }
0031
0032 int OnlMon::process_event(Event * )
0033 {
0034 std::cout << "process_event(Event *evt) not implemented by daughter class" << std::endl;
0035 return -1;
0036 }
0037
0038 int OnlMon::Reset()
0039 {
0040
0041 return -1;
0042 }
0043
0044 void OnlMon::identify(std::ostream &out) const
0045 {
0046 out << "identify() not implemented by daughter class" << std::endl;
0047 return;
0048 }
0049
0050 int OnlMon::InitCommon(OnlMonServer * se)
0051 {
0052
0053 se->registerHisto(this,se->getCommonHisto("FrameWorkVars"));
0054 return 0;
0055 }
0056
0057 int OnlMon::BeginRunCommon(const int , OnlMonServer * )
0058 {
0059 SetStatus(OnlMon::OK);
0060 return 0;
0061 }
0062
0063 void OnlMon::SetStatus(const int newstatus)
0064 {
0065 if (newstatus != status)
0066 {
0067 OnlMonServer *se = OnlMonServer::instance();
0068 status = newstatus;
0069 se->SetSubsystemRunStatus(this, status);
0070 }
0071 return;
0072 }
0073
0074 void OnlMon::SetMonitorServerId(unsigned int i)
0075 {
0076 if (Name().find('_') != std::string::npos)
0077 {
0078 std::cout << "Monitor Server Id was already set " << Name() << std::endl;
0079 return;
0080 }
0081 m_MonitorServerId = i;
0082 Name(Name() + '_' + std::to_string(i));
0083 return;
0084 }
0085