00001 #ifndef DTUserKeyedConfigHandler_H 00002 #define DTUserKeyedConfigHandler_H 00003 00014 //---------------------- 00015 // Base Class Headers -- 00016 //---------------------- 00017 #include "CondCore/PopCon/interface/PopConSourceHandler.h" 00018 00019 //------------------------------------ 00020 // Collaborating Class Declarations -- 00021 //------------------------------------ 00022 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00023 #include "CondCore/DBCommon/interface/DbConnection.h" 00024 #include "CondFormats/DTObjects/interface/DTCCBConfig.h" 00025 #include <string> 00026 00027 namespace cond { 00028 class KeyList; 00029 } 00030 00031 //--------------- 00032 // C++ Headers -- 00033 //--------------- 00034 00035 00036 // --------------------- 00037 // -- Class Interface -- 00038 // --------------------- 00039 00040 class DTUserKeyedConfigHandler: public popcon::PopConSourceHandler<DTCCBConfig> { 00041 00042 public: 00043 00046 DTUserKeyedConfigHandler( const edm::ParameterSet& ps ); 00047 00050 virtual ~DTUserKeyedConfigHandler(); 00051 00054 00055 void getNewObjects(); 00056 std::string id() const; 00057 00058 static void setList( cond::KeyList* list ); 00059 00060 private: 00061 00062 int dataRun; 00063 std::string dataTag; 00064 std::string onlineConnect; 00065 std::string onlineAuthentication; 00066 std::string brickContainer; 00067 std::vector<DTConfigKey> userConf; 00068 bool writeKeys; 00069 bool writeData; 00070 DTCCBConfig* ccbConfig; 00071 00072 cond::DbConnection connection; 00073 cond::DbSession isession; 00074 void chkConfigList( const std::map<int,bool>& userBricks ); 00075 bool userDiscardedKey( int key ); 00076 static bool sameConfigList( const std::vector<DTConfigKey>& cfgl, 00077 const std::vector<DTConfigKey>& cfgr ); 00078 00079 static cond::KeyList* keyList; 00080 00081 }; 00082 00083 00084 #endif // DTUserKeyedConfigHandler_H 00085 00086 00087 00088 00089 00090