File indexing completed on 2024-04-06 12:02:45
0001 #ifndef DTKeyedConfigHandler_H
0002 #define DTKeyedConfigHandler_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include "CondCore/PopCon/interface/PopConSourceHandler.h"
0018
0019
0020
0021
0022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0023 #include "CondCore/CondDB/interface/ConnectionPool.h"
0024 #include "CondFormats/DTObjects/interface/DTCCBConfig.h"
0025 #include <memory>
0026 #include <string>
0027
0028 namespace coral {
0029 class ISessionProxy;
0030 }
0031
0032 namespace cond {
0033 namespace persistency {
0034 class KeyList;
0035 }
0036 }
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046 class DTKeyedConfigHandler : public popcon::PopConSourceHandler<DTCCBConfig> {
0047 public:
0048
0049
0050 DTKeyedConfigHandler(const edm::ParameterSet& ps);
0051
0052
0053
0054 ~DTKeyedConfigHandler() override;
0055
0056
0057
0058
0059 void getNewObjects() override;
0060 std::string id() const override;
0061
0062 void setList(const cond::persistency::KeyList* list);
0063
0064 private:
0065 bool copyData;
0066 int minBrickId;
0067 int maxBrickId;
0068 int minRunId;
0069 int maxRunId;
0070
0071 std::string dataTag;
0072 std::string onlineConnect;
0073 std::string onlineAuthentication;
0074 int onlineAuthSys;
0075 std::string brickContainer;
0076 DTCCBConfig* ccbConfig;
0077
0078 cond::persistency::ConnectionPool connection;
0079 std::shared_ptr<coral::ISessionProxy> isession;
0080 void chkConfigList();
0081 static bool sameConfigList(const std::vector<DTConfigKey>& cfgl, const std::vector<DTConfigKey>& cfgr);
0082
0083 const cond::persistency::KeyList* keyList = nullptr;
0084 };
0085
0086 #endif