1 #ifndef UtilAlgos_EventSetupInitTrait_h
2 #define UtilAlgos_EventSetupInitTrait_h
12 struct NullAndOperand;
26 template<
typename Selector>
30 selector.newEvent(evt, es);
39 template<
typename T1,
typename T2,
typename T3 = helpers::NullAndOperand,
40 typename T4 = helpers::NullAndOperand,
typename T5 = helpers::NullAndOperand>
42 template<
template<
typename,
typename,
typename,
typename,
typename>
class SelectorT>
43 static void init(SelectorT<T1, T2, T3, T4, T5>& selector,
54 template<
typename T1,
typename T2,
typename T3,
typename T4>
56 template<
template<
typename,
typename,
typename,
typename,
typename>
class SelectorT>
57 static void init(SelectorT<T1, T2, T3, T4, helpers::NullAndOperand>& selector,
67 template<
typename T1,
typename T2,
typename T3>
69 template<
template<
typename,
typename,
typename,
typename,
typename>
class SelectorT>
70 static void init(SelectorT<T1, T2, T3, helpers::NullAndOperand, helpers::NullAndOperand>& selector,
79 template<
typename T1,
typename T2>
81 template<
template<
typename,
typename,
typename,
typename,
typename>
class SelectorT>
82 static void init(SelectorT<T1, T2, helpers::NullAndOperand, helpers::NullAndOperand, helpers::NullAndOperand>& selector,
90 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
95 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
103 #define EVENTSETUP_STD_INIT(SELECTOR) \
105 namespace modules { \
107 struct EventSetupInit<SELECTOR> { \
108 typedef CommonSelectorEventSetupInit type; \
112 struct __useless_ignoreme
114 #define EVENTSETUP_STD_INIT_T1(SELECTOR) \
116 namespace modules { \
117 template<typename T1> \
118 struct EventSetupInit<SELECTOR<T1> > { \
119 typedef CommonSelectorEventSetupInit type; \
123 struct __useless_ignoreme
125 #define EVENTSETUP_STD_INIT_T2(SELECTOR) \
127 namespace modules { \
128 template<typename T1, typename T2> \
129 struct EventSetupInit<SELECTOR<T1, T2> > { \
130 typedef CommonSelectorEventSetupInit type; \
134 struct __useless_ignoreme
136 #define EVENTSETUP_STD_INIT_T3(SELECTOR) \
138 namespace modules { \
139 template<typename T1, typename T2, typename T3> \
140 struct EventSetupInit<SELECTOR<T1, T2, T3> > { \
141 typedef CommonSelectorEventSetupInit type; \
145 struct __useless_ignoreme
static void init(SelectorT< T1, T2, helpers::NullAndOperand, helpers::NullAndOperand, helpers::NullAndOperand > &selector, const edm::Event &evt, const edm::EventSetup &es)
static void init(SelectorT< T1, T2, T3, T4, helpers::NullAndOperand > &selector, const edm::Event &evt, const edm::EventSetup &es)
static void init(SelectorT< T1, T2, T3, helpers::NullAndOperand, helpers::NullAndOperand > &selector, const edm::Event &evt, const edm::EventSetup &es)
static void init(T &, const edm::Event &, const edm::EventSetup &)
CombinedEventSetupInit< T1, T2, T3, T4, T5 > type
CombinedEventSetupInit< T1, T2, T3, T4, T5 > type
static void init(SelectorT< T1, T2, T3, T4, T5 > &selector, const edm::Event &evt, const edm::EventSetup &es)
NoEventSetupInit< T > type
static void init(Selector &selector, const edm::Event &evt, const edm::EventSetup &es)