Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OnlMonDB.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file OnlMonDB.h
1 #ifndef ONLMONDATABASE_ONLMONDB_H
2 #define ONLMONDATABASE_ONLMONDB_H
3 
4 #include <onlmon/OnlMonBase.h>
5 
6 #include <ctime>
7 #include <map>
8 #include <string>
9 #include <vector>
10 
11 class OnlMonDBVar;
12 class OnlMonDBodbc;
13 
14 class OnlMonDB : public OnlMonBase
15 {
16  public:
17  OnlMonDB(const std::string &thisname = "DUMMY");
18  virtual ~OnlMonDB();
19 
20  int registerVar(const std::string &varname);
21  int SetVar(const std::string &varname, const float var, const float varerr, const float varqual);
22  int SetVar(const std::string &varname, const float var[3]);
23  int DBcommit();
24  int DBcommitTest();
25  int DBInit();
26  void Print() const;
27  int GetVar(const time_t begin, const time_t end, const std::string &varname, std::vector<time_t> &timestp, std::vector<int> &runnumber, std::vector<float> &var, std::vector<float> &varerr);
28  void Reset(); // reset variables (set update flag to 0 to not mix runs)
29 
30  protected:
31  std::map<const std::string, OnlMonDBVar *> varmap;
32  OnlMonDBodbc *db = nullptr;
33  ;
34 };
35 
36 #endif