26 #include <QButtonGroup>
43 QObject::connect(FullPrintButton, SIGNAL(clicked()),
this, SLOT(
PrintStatus()));
44 QObject::connect(MonitorButton, SIGNAL(clicked()),
this, SLOT(
TimerStart()));
45 QObject::connect(StopButton, SIGNAL(clicked()),
this, SLOT(
TimerStop()));
47 QObject::connect(NodeEdit, SIGNAL(returnPressed()),
this, SLOT(
NodeEditEnter()));
48 QObject::connect(NodeEdit, SIGNAL(textChanged(QString)),
this, SLOT(
NodeChanged(QString)));
49 QObject::connect(TrendCheck, SIGNAL(toggled(
bool)),
this, SLOT(
TrendSwitched(
bool)));
51 QObject::connect(MoreBox, SIGNAL(toggled(
bool)),
this, SLOT(
MoreBox_toggled(
bool)));
55 #if QT_VERSION >= QT_VERSION_CHECK(4,6,0)
56 RateEvents->setDigitCount(7);
57 SumEvents->setDigitCount(12);
58 RateBytes->setDigitCount(7);
59 SumBytes->setDigitCount(8);
60 ServerPercent->setDigitCount(3);
61 SumBytesFile->setDigitCount(9);
63 RateEvents->setNumDigits(7);
64 SumEvents->setNumDigits(12);
65 RateBytes->setNumDigits(7);
66 SumBytes->setNumDigits(8);
67 ServerPercent->setNumDigits(3);
68 SumBytesFile->setNumDigits(9);
86 TrendCheck->setChecked(fbTrending);
109 QString moviepath =
":/icons/mbslogorun.gif";
152 fxTimer->start(1000*FrequencyBox->value());
170 setWindowTitle(
"MBS Status - "+NodeEdit->text());
193 OutfileLabel->setText(
"- file closed -") ;
203 RunPix->setWindowIcon(QIcon(
":/icons/mbsbutton.png" ));
213 std::cerr <<
fxMessage.toLatin1().constData() << std::endl;
224 if(
fxNode.isEmpty())
return;
227 fxMessage = QString(
"MBS Status refresh node %1 returned error %2 at ").arg(
fxNode).arg(state);
228 fxMessage += QDateTime::currentDateTime().toString();
235 int deltat=FrequencyBox->value();
237 int deltamilsecs=deltat*1000.0;
245 int deltasecs=deltamilsecs/1000;
249 std::cout <<
"Warning: MBS monitor found measuring interval:"<<deltasecs<<
" s ("<<deltamilsecs <<
" ms) exceeding timer period "<<deltat<<
" s" << std::endl;
250 std::cout <<
" Maybe timer was skipped?" << std::endl;
252 numperiods=(deltat/ (int) FrequencyBox->value());
253 std::cout <<
" Correcting number of measuring periods to:"<<numperiods << std::endl;
356 while((numperiods--) > 0)
385 std::cout <<
fxMessage.toLatin1().constData() << std::endl;
389 std::cout <<
"\n------------------------------------------------" << std::endl;
419 if(
fxNode.isEmpty())
return;
427 fxMessage = QString(
"MBS Setup refresh returned error %1 at %2").arg(state).arg(QDateTime::currentDateTime().toString());
440 fxMessage = QString(
"MBS Setup ML refresh returned error %1 at %2").arg(state).arg(QDateTime::currentDateTime().toString());
452 fxMessage = QString(
"MBS Setup MO refresh returned error %1 at %2").arg(state).arg(QDateTime::currentDateTime().toString());
486 int bins=histo->GetNbinsX();
493 for(
int i=0;i<bins;i++)
499 int oldval=histo->GetBinContent(j+dj);
500 histo->SetBinContent(j,oldval);
502 histo->SetBinContent(j+dj,value);
530 his=
new TH1F(name.toLatin1(), title.toLatin1() ,
fiTrendBins,lo,up);
531 TAxis* xax=his->GetXaxis();
594 NodeEdit->setText(txt);
QString fxHistoEvRatioAccessName
virtual void StateGroup_clicked(int id)
TString SaveToMemory(const char *pathname, TObject *obj, Bool_t ownership, Bool_t overwrite=kFALSE)
void setMbsMonitorMonitorActive(bool on=true)
void setMbsMonitorTrend(bool on=true)
virtual void MoreBox_toggled(bool on)
virtual void StartMovieReset()
virtual void PrintStatus()
virtual void TrendSwitched(bool on)
TH1 * TrendHisto(QString &refname, const QString &name, const QString &title, int value)
INTS4 f_mbs_status(CHARS *c_node, s_daqst *ps_daqst)
QString fxHistoAccessName
virtual void StoreSettings()
virtual void FrequencyBox_valueChanged(int)
INTS4 f_mbs_mo_setup(CHARS *c_node, s_set_mo *ps_set_mo)
virtual void TrendBinsBox_valueChanged(int i)
QButtonGroup * StateGroup
INTU4 bl_n_strserv_kbytes
TGo4Slot * DataSlot(const char *item)
virtual void UpdateTrending()
TObject * GetAssignedObject()
INTS4 f_mbs_ml_setup(CHARS *c_node, s_set_ml *ps_set_ml)
QElapsedTimer fxDeltaClock
virtual void IncTrending(TH1 *histo, int value, bool forwards)
virtual void SetNode(const QString &txt)
INTU4 bh_event_serv_ready
INTS4 f_mbs_setup(CHARS *c_node, s_setup *ps_setup)
virtual void RefreshButtonClick()
bool getMbsMonitorTrend()
INTU4 bl_r_strserv_kbytes
void setMbsMonitorNode(const QString &name)
QString fxHistokBAccessName
TGo4MBSViewer(QWidget *parent=0, const char *name=0)
virtual void NodeEditEnter()
TGo4Slot * BrowserSlot(const char *item)
INTS4 f_ut_seg_show(s_daqst *ps_daqst, s_setup *ps_setup, s_set_ml *ps_set_ml, s_set_mo *ps_set_mo)
bool getMbsMonitorBackwardsTrending()
QString getMbsMonitorNode()
INTU4 bh_running[SYS__N_MAX_PROCS]
void ForwardEvent(TGo4Slot *source, Int_t id, void *param=0)
virtual void ResetRunIcon()
Bool_t AssignObject(TObject *obj, Bool_t owner)
QTimer * fxMovieResetTimer
void setMbsMonitorBins(int num)
void setMbsMonitorBackwardsTrending(bool on=true)
virtual void NodeChanged(const QString &txt)
virtual void TimerStart()
void setMbsMonitorFreq(int secs)
CHARS c_date[SBS__STR_LEN_64]
static void SetItemTimeDate(TGo4Slot *slot, const char *stime=0, const char *sdate=0)
void setMbsMonitorMore(bool on=true)
virtual void ShowStatus()