CMS 3D CMS Logo

AndSelector.h
Go to the documentation of this file.
1 #ifndef UtilAlgos_AndSelector_h
2 #define UtilAlgos_AndSelector_h
7 
8 namespace reco {
9  namespace modules {
10 
11  template<typename S1, typename S2, typename S3, typename S4, typename S5>
12  struct ParameterAdapter<AndSelector<S1, S2, S3, S4, S5> > {
14  return AndSelector<S1, S2, S3, S4, S5>( modules::make<S1>( cfg ),
15  modules::make<S2>( cfg ),
16  modules::make<S3>( cfg ),
17  modules::make<S4>( cfg ),
18  modules::make<S5>( cfg ) );
19  }
21  return AndSelector<S1, S2, S3, S4, S5>( modules::make<S1>( cfg, iC ),
22  modules::make<S2>( cfg, iC ),
23  modules::make<S3>( cfg, iC ),
24  modules::make<S4>( cfg, iC ),
25  modules::make<S5>( cfg, iC ) );
26  }
28  return AndSelector<S1, S2, S3, S4, S5>( modules::make<S1>( cfg, iC ),
29  modules::make<S2>( cfg, iC ),
30  modules::make<S3>( cfg, iC ),
31  modules::make<S4>( cfg, iC ),
32  modules::make<S5>( cfg, iC ) );
33  }
34 
36  modules::fillPSetDescription<S1>(desc);
37  modules::fillPSetDescription<S2>(desc);
38  modules::fillPSetDescription<S3>(desc);
39  modules::fillPSetDescription<S4>(desc);
40  modules::fillPSetDescription<S5>(desc);
41  }
42  };
43 
44  template<typename S1, typename S2, typename S3, typename S4>
45  struct ParameterAdapter<AndSelector<S1, S2, S3, S4> > {
47  return AndSelector<S1, S2, S3, S4>( modules::make<S1>( cfg ),
48  modules::make<S2>( cfg ),
49  modules::make<S3>( cfg ),
50  modules::make<S4>( cfg ) );
51  }
53  return AndSelector<S1, S2, S3, S4>( modules::make<S1>( cfg, iC ),
54  modules::make<S2>( cfg, iC ),
55  modules::make<S3>( cfg, iC ),
56  modules::make<S4>( cfg, iC ) );
57  }
59  return AndSelector<S1, S2, S3, S4>( modules::make<S1>( cfg, iC ),
60  modules::make<S2>( cfg, iC ),
61  modules::make<S3>( cfg, iC ),
62  modules::make<S4>( cfg, iC ) );
63  }
64 
66  modules::fillPSetDescription<S1>(desc);
67  modules::fillPSetDescription<S2>(desc);
68  modules::fillPSetDescription<S3>(desc);
69  modules::fillPSetDescription<S4>(desc);
70  }
71  };
72 
73  template<typename S1, typename S2, typename S3>
74  struct ParameterAdapter<AndSelector<S1, S2, S3> > {
76  return AndSelector<S1, S2, S3>( modules::make<S1>( cfg ),
77  modules::make<S2>( cfg ),
78  modules::make<S3>( cfg ) );
79  }
81  return AndSelector<S1, S2, S3>( modules::make<S1>( cfg, iC ),
82  modules::make<S2>( cfg, iC ),
83  modules::make<S3>( cfg, iC ) );
84  }
86  return AndSelector<S1, S2, S3>( modules::make<S1>( cfg, iC ),
87  modules::make<S2>( cfg, iC ),
88  modules::make<S3>( cfg, iC ) );
89  }
90 
92  modules::fillPSetDescription<S1>(desc);
93  modules::fillPSetDescription<S2>(desc);
94  modules::fillPSetDescription<S3>(desc);
95  }
96  };
97 
98  template<typename S1, typename S2>
99  struct ParameterAdapter<AndSelector<S1, S2> > {
101  return AndSelector<S1, S2>( modules::make<S1>( cfg ),
102  modules::make<S2>( cfg ) );
103  }
105  return AndSelector<S1, S2>( modules::make<S1>( cfg, iC ),
106  modules::make<S2>( cfg, iC ) );
107  }
109  return AndSelector<S1, S2>( modules::make<S1>( cfg, iC ),
110  modules::make<S2>( cfg, iC ) );
111  }
112 
114  modules::fillPSetDescription<S1>(desc);
115  modules::fillPSetDescription<S2>(desc);
116  }
117  };
118 
119  }
120 }
121 
122 #endif
123 
static AndSelector< S1, S2, S3, S4 > make(const edm::ParameterSet &cfg)
Definition: AndSelector.h:46
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Definition: AndSelector.h:65
static AndSelector< S1, S2, S3 > make(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
Definition: AndSelector.h:85
static AndSelector< S1, S2, S3, S4, S5 > make(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
Definition: AndSelector.h:27
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Definition: AndSelector.h:35
static AndSelector< S1, S2, S3, S4 > make(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
Definition: AndSelector.h:52
static AndSelector< S1, S2 > make(const edm::ParameterSet &cfg)
Definition: AndSelector.h:100
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Definition: AndSelector.h:113
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Definition: AndSelector.h:91
static AndSelector< S1, S2, S3 > make(const edm::ParameterSet &cfg)
Definition: AndSelector.h:75
static AndSelector< S1, S2 > make(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
Definition: AndSelector.h:108
static AndSelector< S1, S2, S3 > make(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
Definition: AndSelector.h:80
static AndSelector< S1, S2, S3, S4, S5 > make(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
Definition: AndSelector.h:20
fixed size matrix
static AndSelector< S1, S2, S3, S4, S5 > make(const edm::ParameterSet &cfg)
Definition: AndSelector.h:13
static AndSelector< S1, S2, S3, S4 > make(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
Definition: AndSelector.h:58
static AndSelector< S1, S2 > make(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
Definition: AndSelector.h:104