Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:46:00

0001 /*
0002  *  plugin.cc
0003  *  CMSSW
0004  *
0005  *  Created by Paolo Ronchese, 2005 Nov 14,
0006  *    based on template by Chris Jones on 7/24/05.
0007  *
0008  */
0009 
0010 #include "CondCore/ESSources/interface/registration_macros.h"
0011 #include "CondFormats/DTObjects/interface/DTReadOutMapping.h"
0012 #include "CondFormats/DataRecord/interface/DTReadOutMappingRcd.h"
0013 #include "CondFormats/DTObjects/interface/DTT0.h"
0014 #include "CondFormats/DataRecord/interface/DTT0Rcd.h"
0015 #include "CondFormats/DataRecord/interface/DTT0RefRcd.h"
0016 #include "CondFormats/DTObjects/interface/DTRangeT0.h"
0017 #include "CondFormats/DataRecord/interface/DTRangeT0Rcd.h"
0018 #include "CondFormats/DTObjects/interface/DTTtrig.h"
0019 #include "CondFormats/DataRecord/interface/DTTtrigRcd.h"
0020 #include "CondFormats/DTObjects/interface/DTMtime.h"
0021 #include "CondFormats/DataRecord/interface/DTMtimeRcd.h"
0022 #include "CondFormats/DTObjects/interface/DTStatusFlag.h"
0023 #include "CondFormats/DataRecord/interface/DTStatusFlagRcd.h"
0024 #include "CondFormats/DTObjects/interface/DTDeadFlag.h"
0025 #include "CondFormats/DataRecord/interface/DTDeadFlagRcd.h"
0026 #include "CondFormats/DTObjects/interface/DTPerformance.h"
0027 #include "CondFormats/DataRecord/interface/DTPerformanceRcd.h"
0028 #include "CondFormats/DTObjects/interface/DTCCBConfig.h"
0029 #include "CondFormats/DataRecord/interface/DTCCBConfigRcd.h"
0030 #include "CondFormats/DTObjects/interface/DTKeyedConfig.h"
0031 #include "CondFormats/DataRecord/interface/DTKeyedConfigContainerRcd.h"
0032 #include "CondFormats/DataRecord/interface/DTKeyedConfigListRcd.h"
0033 #include "CondFormats/DTObjects/interface/DTTPGParameters.h"
0034 #include "CondFormats/DataRecord/interface/DTTPGParametersRcd.h"
0035 #include "CondFormats/DTObjects/interface/DTHVStatus.h"
0036 #include "CondFormats/DataRecord/interface/DTHVStatusRcd.h"
0037 #include "CondFormats/DTObjects/interface/DTLVStatus.h"
0038 #include "CondFormats/DataRecord/interface/DTLVStatusRcd.h"
0039 #include "CondFormats/Common/interface/BaseKeyed.h"
0040 #include "CondCore/CondDB/interface/KeyListProxy.h"
0041 #include "CondFormats/DTObjects/interface/DTRecoUncertainties.h"
0042 #include "CondFormats/DataRecord/interface/DTRecoUncertaintiesRcd.h"
0043 #include "CondFormats/DTObjects/interface/DTRecoConditions.h"
0044 #include "CondFormats/DataRecord/interface/DTRecoConditionsTtrigRcd.h"
0045 #include "CondFormats/DataRecord/interface/DTRecoConditionsVdriftRcd.h"
0046 #include "CondFormats/DataRecord/interface/DTRecoConditionsUncertRcd.h"
0047 
0048 //
0049 #include "CondCore/CondDB/interface/Serialization.h"
0050 #include "CondFormats/External/interface/DetID.h"
0051 
0052 #include <memory>
0053 
0054 namespace cond {
0055   template <>
0056   std::unique_ptr<BaseKeyed> deserialize<BaseKeyed>(const std::string& payloadType,
0057                                                     const Binary& payloadData,
0058                                                     const Binary& streamerInfoData) {
0059     DESERIALIZE_BASE_CASE(BaseKeyed);
0060     DESERIALIZE_POLIMORPHIC_CASE(BaseKeyed, DTKeyedConfig);
0061 
0062     // here we come if none of the deserializations above match the payload type:
0063     throwException(std::string("Type mismatch, target object is type \"") + payloadType + "\"", "deserialize<>");
0064   }
0065 }  // namespace cond
0066 
0067 namespace {
0068   struct InitDTCCBConfig {
0069     void operator()(DTCCBConfig& e) { e.initialize(); }
0070   };
0071 }  // namespace
0072 
0073 namespace {
0074   struct InitDTDeadFlag {
0075     void operator()(DTDeadFlag& e) { e.initialize(); }
0076   };
0077 }  // namespace
0078 
0079 namespace {
0080   struct InitDTHVStatus {
0081     void operator()(DTHVStatus& e) { e.initialize(); }
0082   };
0083 }  // namespace
0084 
0085 namespace {
0086   struct InitDTLVStatus {
0087     void operator()(DTLVStatus& e) { e.initialize(); }
0088   };
0089 }  // namespace
0090 
0091 namespace {
0092   struct InitDTMtime {
0093     void operator()(DTMtime& e) { e.initialize(); }
0094   };
0095 }  // namespace
0096 
0097 namespace {
0098   struct InitDTPerformance {
0099     void operator()(DTPerformance& e) { e.initialize(); }
0100   };
0101 }  // namespace
0102 
0103 namespace {
0104   struct InitDTRangeT0 {
0105     void operator()(DTRangeT0& e) { e.initialize(); }
0106   };
0107 }  // namespace
0108 
0109 namespace {
0110   struct InitDTStatusFlag {
0111     void operator()(DTStatusFlag& e) { e.initialize(); }
0112   };
0113 }  // namespace
0114 
0115 namespace {
0116   struct InitDTTPGParameters {
0117     void operator()(DTTPGParameters& e) { e.initialize(); }
0118   };
0119 }  // namespace
0120 
0121 namespace {
0122   struct InitDTTtrig {
0123     void operator()(DTTtrig& e) { e.initialize(); }
0124   };
0125 }  // namespace
0126 
0127 REGISTER_PLUGIN(DTReadOutMappingRcd, DTReadOutMapping);
0128 REGISTER_PLUGIN(DTT0Rcd, DTT0);
0129 REGISTER_PLUGIN(DTT0RefRcd, DTT0);
0130 REGISTER_PLUGIN_INIT(DTRangeT0Rcd, DTRangeT0, InitDTRangeT0);
0131 REGISTER_PLUGIN_INIT(DTTtrigRcd, DTTtrig, InitDTTtrig);
0132 REGISTER_PLUGIN_INIT(DTMtimeRcd, DTMtime, InitDTMtime);
0133 REGISTER_PLUGIN_INIT(DTStatusFlagRcd, DTStatusFlag, InitDTStatusFlag);
0134 REGISTER_PLUGIN_INIT(DTDeadFlagRcd, DTDeadFlag, InitDTDeadFlag);
0135 REGISTER_PLUGIN_INIT(DTPerformanceRcd, DTPerformance, InitDTPerformance);
0136 REGISTER_PLUGIN_INIT(DTCCBConfigRcd, DTCCBConfig, InitDTCCBConfig);
0137 REGISTER_PLUGIN_INIT(DTTPGParametersRcd, DTTPGParameters, InitDTTPGParameters);
0138 REGISTER_PLUGIN_INIT(DTHVStatusRcd, DTHVStatus, InitDTHVStatus);
0139 REGISTER_PLUGIN_INIT(DTLVStatusRcd, DTLVStatus, InitDTLVStatus);
0140 REGISTER_PLUGIN(DTKeyedConfigContainerRcd, cond::BaseKeyed);
0141 REGISTER_KEYLIST_PLUGIN(DTKeyedConfigListRcd, cond::persistency::KeyList, DTKeyedConfigContainerRcd);
0142 REGISTER_PLUGIN(DTRecoUncertaintiesRcd, DTRecoUncertainties);
0143 //New flexyble payloads for ttrig, vdrift, uncertainty
0144 REGISTER_PLUGIN(DTRecoConditionsTtrigRcd, DTRecoConditions);
0145 REGISTER_PLUGIN(DTRecoConditionsVdriftRcd, DTRecoConditions);
0146 REGISTER_PLUGIN(DTRecoConditionsUncertRcd, DTRecoConditions);