File indexing completed on 2026-04-04 08:16:09
0001 #ifndef GL1_GL1MONDRAW_H
0002 #define GL1_GL1MONDRAW_H
0003
0004 #include <onlmon/OnlMonDraw.h>
0005
0006 #include <array>
0007 #include <string> // for allocator, string
0008 #include <vector>
0009
0010 class RunDBodbc;
0011 class TCanvas;
0012 class TGraph;
0013 class TPad;
0014 class TStyle;
0015
0016 class GL1MonDraw : public OnlMonDraw
0017 {
0018 public:
0019 GL1MonDraw(const std::string &name);
0020 ~GL1MonDraw() override;
0021
0022 int Init() override;
0023 int Draw(const std::string &what = "ALL") override;
0024 int MakeHtml(const std::string &what = "ALL") override;
0025 int SavePlot(const std::string &what = "ALL", const std::string &type = "png") override;
0026 int FetchTriggerNames();
0027
0028 protected:
0029 int MakeCanvas(const std::string &name);
0030 int DrawScaled(const std::string &what = "ALL");
0031 int DrawLive(const std::string &what = "ALL");
0032 int DrawServerStats();
0033 int DrawRejection();
0034 int DrawTimeToLastEvent();
0035 std::vector<TGraph *> reject_graph_good;
0036 std::vector<TGraph *> reject_graph_bad;
0037 std::vector<std::pair<int, int>> rejection_limit;
0038 TStyle *gl1Style{nullptr};
0039 TCanvas *TC[5]{};
0040 TPad *transparent[5]{};
0041 TPad *ScalePad[28]{};
0042 TPad *LivePad[28]{};
0043 TPad *RejPad[8]{};
0044 TPad *ttlPad[2]{};
0045 RunDBodbc *m_RunDB{nullptr};
0046 int m_CurrentRunnumber{0};
0047 std::array<std::string, 64> m_TrignameArray;
0048 };
0049
0050 #endif