Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SphenixClient.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SphenixClient.h
1 #ifndef SPHENIXNPC_SPHENIXCLIENT_H
2 #define SPHENIXNPC_SPHENIXCLIENT_H
3 
4 #include <nopayloadclient/nopayloadclient.hpp>
5 
6 #include <nlohmann/json.hpp>
7 
8 #include <set>
9 #include <string>
10 
11 class SphenixClient : public nopayloadclient::NoPayloadClient
12 {
13  public:
14  SphenixClient() = default;
15  explicit SphenixClient(const std::string& globaltag);
16  virtual ~SphenixClient() = default;
17  // make clang happy, since we use our own without overriding the base class methods
18  using nopayloadclient::NoPayloadClient::getPayloadIOVs;
19 
20 #pragma GCC diagnostic push
21 #pragma GCC diagnostic ignored "-Woverloaded-virtual"
22  nlohmann::json insertPayload(const std::string& pl_type, const std::string& file_url, long long iov_start);
23  nlohmann::json getUrlDict(long long iov);
24  nlohmann::json deletePayloadIOV(const std::string& pl_type, long long iov_start);
25 #pragma GCC diagnostic pop
26 
27  nlohmann::json getPayloadIOVs(long long iov);
28  nlohmann::json getUrl(const std::string& pl_type, long long iov);
29  nlohmann::json insertPayload(const std::string& pl_type, const std::string& file_url, long long iov_start, long long iov_end) override;
30  nlohmann::json setGlobalTag(const std::string& name) override;
31  std::string getCalibration(const std::string& pl_type, long long iov);
32  nlohmann::json unlockGlobalTag(const std::string& tagname) override;
33  nlohmann::json lockGlobalTag(const std::string& tagname) override;
34  nlohmann::json deletePayloadIOV(const std::string& pl_type, long long iov_start, long long iov_end) override;
35 
36  bool existGlobalTag(const std::string& tagname);
37  int createDomain(const std::string& domain);
38  int cache_set_GlobalTag(const std::string& name);
39  bool isGlobalTagSet();
40  void Verbosity(int i) { m_Verbosity = i; }
41  int Verbosity() const { return m_Verbosity; }
42 
43  private:
44  int m_Verbosity = 0;
46  std::set<std::string> m_DomainCache;
47  std::set<std::string> m_GlobalTagCache;
48 };
49 
50 #endif // SPHENIXNPC_SPHENIXCLIENT_H