Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:20:56

0001 #ifndef ONLMONDATABASE_ONLMONDB_H
0002 #define ONLMONDATABASE_ONLMONDB_H
0003 
0004 #include <onlmon/OnlMonBase.h>
0005 
0006 #include <ctime>
0007 #include <map>
0008 #include <string>
0009 #include <vector>
0010 
0011 class OnlMonDBVar;
0012 class OnlMonDBodbc;
0013 
0014 class OnlMonDB : public OnlMonBase
0015 {
0016  public:
0017   OnlMonDB(const std::string &thisname = "DUMMY");
0018   virtual ~OnlMonDB();
0019 
0020   int registerVar(const std::string &varname);
0021   int SetVar(const std::string &varname, const float var, const float varerr, const float varqual);
0022   int SetVar(const std::string &varname, const float var[3]);
0023   int DBcommit();
0024   int DBcommitTest();
0025   int DBInit();
0026   void Print() const;
0027   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);
0028   void Reset();  // reset variables (set update flag to 0 to not mix runs)
0029 
0030  protected:
0031   std::map<const std::string, OnlMonDBVar *> varmap;
0032   OnlMonDBodbc *db = nullptr;
0033   ;
0034 };
0035 
0036 #endif