Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:45

0001 #ifndef DTKeyedConfigHandler_H
0002 #define DTKeyedConfigHandler_H
0003 /** \class DTKeyedConfigHandler
0004  *
0005  *  Description: 
0006  *
0007  *
0008  *  $Date: 2010/05/14 11:43:08 $
0009  *  $Revision: 1.2 $
0010  *  \author Paolo Ronchese INFN Padova
0011  *
0012  */
0013 
0014 //----------------------
0015 // Base Class Headers --
0016 //----------------------
0017 #include "CondCore/PopCon/interface/PopConSourceHandler.h"
0018 
0019 //------------------------------------
0020 // Collaborating Class Declarations --
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 }  // namespace cond
0037 
0038 //---------------
0039 // C++ Headers --
0040 //---------------
0041 
0042 //              ---------------------
0043 //              -- Class Interface --
0044 //              ---------------------
0045 
0046 class DTKeyedConfigHandler : public popcon::PopConSourceHandler<DTCCBConfig> {
0047 public:
0048   /** Constructor
0049    */
0050   DTKeyedConfigHandler(const edm::ParameterSet& ps);
0051 
0052   /** Destructor
0053    */
0054   ~DTKeyedConfigHandler() override;
0055 
0056   /** Operations
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  // DTKeyedConfigHandler_H