15#ifndef _CTP_RUNMANAGER_H_
16#define _CTP_RUNMANAGER_H_
19#include "BookkeepingApi/BkpClientFactory.h"
20#include "BookkeepingApi/BkpClient.h"
21using namespace o2::bkp::api;
26typedef std::map<uint32_t, std::array<uint32_t, 6>>
counters_t;
35 int send2BK(std::unique_ptr<BkpClient>& BKClient,
size_t ts,
bool start);
49 int loadRun(
const std::string& cfg);
50 int startRun(
const std::string& cfg);
51 int stopRun(uint32_t irun,
long timeStamp);
57 void setBKHost(std::string host) { mBKHost = host; };
59 uint64_t
checkOverflow(uint32_t lcnt0, uint32_t lcnt1, uint64_t lcntcor);
64 std::string mBKHost =
"";
65 std::array<CTPActiveRun*, NRUNS> mActiveRuns;
66 std::array<std::uint32_t, NRUNS> mActiveRunNumbers;
67 std::array<uint32_t, CTPRunScalers::NCOUNTERS> mCounters;
68 std::map<std::string, uint32_t> mScalerName2Position;
69 std::map<uint32_t, CTPActiveRun*> mRunsLoaded;
70 std::unique_ptr<BkpClient> mBKClient;
73 int mQCWritePeriod = 3;
int stopRun(uint32_t irun, long timeStamp)
int startRun(const std::string &cfg)
void printActiveRuns() const
int processMessage(std::string &topic, const std::string &message)
void setQCWritePeriod(int period)
int loadRun(const std::string &cfg)
void setBKHost(std::string host)
int addScalers(uint32_t irun, std::time_t time, bool start=0)
uint64_t checkOverflow(uint32_t lcnt0, uint32_t lcnt1, uint64_t lcntcor)
GLuint GLsizei const GLchar * message
std::map< uint32_t, std::array< uint32_t, 6 > > counters_t
std::map< uint32_t, std::array< uint64_t, 6 > > counters64_t
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
int send2BK(std::unique_ptr< BkpClient > &BKClient, size_t ts, bool start)