Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CDBUtils.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CDBUtils.h
1 #ifndef SPHENIXNPC_CDBUTILS_H
2 #define SPHENIXNPC_CDBUTILS_H
3 
4 #include <cstdint> // for uint64_t
5 #include <set>
6 #include <string>
7 
8 class SphenixClient;
9 
10 class CDBUtils
11 {
12  public:
13  CDBUtils();
14  explicit CDBUtils(const std::string &globaltag);
15 
16  // delete copy ctor and assignment operator (cppcheck)
17  explicit CDBUtils(const CDBUtils &) = delete;
18  CDBUtils &operator=(const CDBUtils &) = delete;
19 
20  virtual ~CDBUtils() = default;
21  int createGlobalTag(const std::string &tagname);
22  int setGlobalTag(const std::string &tagname);
23  int lockGlobalTag(const std::string &tagname);
24  int unlockGlobalTag(const std::string &tagname);
25  int createPayloadType(const std::string &domain);
26  std::string getUrl(const std::string &type, uint64_t iov);
27  int insertPayload(const std::string &pl_type, const std::string &file_url, uint64_t iov_start);
28  int insertPayload(const std::string &pl_type, const std::string &file_url, uint64_t iov_start, uint64_t iov_end);
30 
31  int deleteGlobalTag(const std::string &);
32  void listGlobalTags();
33  void listPayloadTypes();
34  void listPayloadIOVs(uint64_t iov);
35  void clearCache();
36  bool isGlobalTagSet();
37  void Verbosity(int i);
38  int Verbosity() const { return m_Verbosity; }
39  int deletePayloadIOV(const std::string &pl_type, uint64_t iov_start);
40  int deletePayloadIOV(const std::string &pl_type, uint64_t iov_start, uint64_t iov_end);
41 
42  private:
43  int m_Verbosity = 0;
46  std::set<std::string> m_PayloadTypeCache;
47 };
48 
49 #endif // SPHENIXNPC_CDBUTILS_H