Class Reference for E1039 Core & Analysis Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OnlMon4MainDaq.C
Go to the documentation of this file.
1 #if ROOT_VERSION_CODE >= ROOT_VERSION(6,00,0)
3 #include <TGClient.h>
4 #include <TGButton.h>
5 #include <TGFrame.h>
6 R__LOAD_LIBRARY(libinterface_main)
7 R__LOAD_LIBRARY(libonlmonserver)
8 #endif
9 
10 #include <vector>
11 
13 {
14  gSystem->Load("libdecoder_maindaq.so");
15  gSystem->Load("libonlmonserver.so");
16 
17  vector<OnlMonClient*> list_omc;
18  list_omc.push_back(new OnlMonMainDaq());
19  list_omc.push_back(new OnlMonTrigSig());
20  list_omc.push_back(new OnlMonV1495(OnlMonV1495::H1X, 1));
21  list_omc.push_back(new OnlMonV1495(OnlMonV1495::H2X, 1));
22  list_omc.push_back(new OnlMonV1495(OnlMonV1495::H3X, 1));
23  list_omc.push_back(new OnlMonV1495(OnlMonV1495::H4X, 1));
24  list_omc.push_back(new OnlMonHodo (OnlMonHodo ::H1X ));
25  list_omc.push_back(new OnlMonHodo (OnlMonHodo ::H2X ));
26  list_omc.push_back(new OnlMonHodo (OnlMonHodo ::H3X ));
27  list_omc.push_back(new OnlMonHodo (OnlMonHodo ::H4X ));
28  list_omc.push_back(new OnlMonHodo (OnlMonHodo ::H1Y ));
29  list_omc.push_back(new OnlMonHodo (OnlMonHodo ::H2Y ));
30  list_omc.push_back(new OnlMonHodo (OnlMonHodo ::H4Y1));
31  list_omc.push_back(new OnlMonHodo (OnlMonHodo ::H4Y2));
32  list_omc.push_back(new OnlMonCham (OnlMonCham ::D0 ));
33  list_omc.push_back(new OnlMonCham (OnlMonCham ::D1 ));
34  list_omc.push_back(new OnlMonCham (OnlMonCham ::D2 ));
35  list_omc.push_back(new OnlMonCham (OnlMonCham ::D3p));
36  list_omc.push_back(new OnlMonCham (OnlMonCham ::D3m));
37  list_omc.push_back(new OnlMonProp (OnlMonProp ::P1 ));
38  list_omc.push_back(new OnlMonProp (OnlMonProp ::P2 ));
39  list_omc.push_back(new OnlMonReco ());
40 
41  TGMainFrame* frame = new TGMainFrame(gClient->GetRoot(), 200, 800);
42 
43  TGTextView* head = new TGTextView(frame, 200, 50, "E1039 OnlMon Selector");
44  frame->AddFrame(head);
45 
46  TGTextButton* button[99];
47  for (unsigned int ii = 0; ii < list_omc.size(); ii++) {
48  button[ii] = new TGTextButton(frame, list_omc[ii]->Title().c_str());
49  button[ii]->Connect("Clicked()", "OnlMonClient", list_omc[ii], "StartMonitor()");
50  frame->AddFrame(button[ii], new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 2,2,5,5)); // (l, r, t, b)
51  }
52 
53  TGCheckButton* check = new TGCheckButton(frame, new TGHotString("Auto-close all canvases"), 99);
54  check->SetToolTipText("When checked, all existing canvases are closed by clicking any button above.");
55  check->SetState(OnlMonClient::GetClearUsFlag() ? kButtonDown : kButtonUp);
56  check->Connect("Toggled(Bool_t)", "OnlMonClient", list_omc[0], "SetClearUsFlag(Bool_t)");
57  frame->AddFrame(check, new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 2,2,5,5));
58 
59  TGTextButton* fExit = new TGTextButton(frame, "Exit","gApplication->Terminate(0)");
60  frame->AddFrame(fExit, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2,2,5,5));
61 
62  frame->SetWindowName("E1039 Online Monitor");
63  frame->MapSubwindows();
64  frame->Resize(frame->GetDefaultSize());
65  frame->MapWindow();
66 
67  return 0;
68 }
69 
71 {
72  //OnlMonClient* omc = new OnlMonMainDaq();
74  omc->StartMonitor();
75  return 0;
76 }
OnlMonMainDaq.
Definition: OnlMonMainDaq.h:6
int StartMonitor()
int OnlMon4MainDaq()
OnlMon4MainDaq.C: Macro to launch an online-monitor client for MainDaq.
Definition: OnlMon4MainDaq.C:7
static bool GetClearUsFlag()
Definition: OnlMonClient.h:93
Base class for the OnlMon subsystem module.
Definition: OnlMonClient.h:35
int OnlMon4MainDaqSingle()