Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:17

0001 #ifndef UtilAlgos_ParameterAdapter_h
0002 #define UtilAlgos_ParameterAdapter_h
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 
0006 namespace reco {
0007   namespace modules {
0008 
0009     template <typename S>
0010     struct ParameterAdapter {
0011       static S make(const edm::ParameterSet& cfg) { return S(cfg); }
0012     };
0013 
0014     template <typename S>
0015     S make(const edm::ParameterSet& cfg) {
0016       return ParameterAdapter<S>::make(cfg);
0017     }
0018 
0019   }  // namespace modules

0020 }  // namespace reco

0021 
0022 #define NOPARAMETER_ADAPTER(TYPE)                                         \
0023   namespace reco {                                                        \
0024     namespace modules {                                                   \
0025       struct ParameterAdapter<TYPE> {                                     \
0026         static TYPE make(const edm::ParameterSet& cfg) { return TYPE(); } \
0027       };                                                                  \
0028     }                                                                     \
0029   }
0030 
0031 #endif