13 {
14
15 auto null_stream = std::unique_ptr<IJetStream>{nullptr};
16
17 auto streamer = std::unique_ptr<JetStreamer> (nullptr);
18
19 if (test == 0) {
20 std::vector<std::size_t> jets0 {1, 2};
21
22 auto stream0 = std::make_unique<SimpleJetStream>(jets0,
23 std::move(null_stream),
24 0
25 );
26 streamer = std::make_unique<JetStreamer>(std::move(stream0));
27
28 return streamer;
29 } else if (test == 1) {
30
31 std::vector<std::size_t> jets_cs {5, 6, 7};
32 std::size_t k2{2};
33
34 auto stream0 =
35 std::make_unique<CombinationsJetStream>(jets_cs,
36 std::move(null_stream),
37 k2,
38 0
39 );
40 streamer.reset(
new JetStreamer(std::move(stream0)));
41 return streamer;
42 } else if (test == 2) {
43
44 std::vector<std::size_t> jets0 {1, 2};
45 std::vector<std::size_t> jets1 {3, 4};
47 std::make_unique<SimpleJetStream>(jets1,
48 std::move(null_stream),
49 1
50 );
51
52
53 auto stream0 =
54 std::make_unique<SimpleJetStream>(jets0,
55 std::move(stream1),
56 0
57 );
58
59 streamer.reset(
new JetStreamer(std::move(stream0)));
60 return streamer;
61 } else if (test == 3) {
62
63 std::vector<std::size_t> jets_cs {5, 6, 7};
64 std::size_t k2{2};
65 std::vector<std::size_t> jets0 {1, 2};
66
67
68
70 std::make_unique<CombinationsJetStream>(jets_cs,
71 std::move(null_stream),
72 k2,
73 1
74 );
75
76
77 auto stream0 =
78 std::make_unique<SimpleJetStream>(jets0,
79 std::move(stream1),
80 0
81 );
82
83 streamer.reset(
new JetStreamer(std::move(stream0)));
84 return streamer;
85 } else if (test == 4) {
86
87 std::vector<std::size_t> jets_cs {5, 6, 7};
88 std::size_t k2{2};
89 std::vector<std::size_t> jets0 {1, 2};
90
91
93 std::make_unique<SimpleJetStream>(jets0,
94 std::move(null_stream),
95 1
96 );
97
98
99 auto stream0 =
100 std::make_unique<CombinationsJetStream>(jets_cs,
101 std::move(stream1),
102 k2,
103 0
104 );
105
106 streamer.reset(
new JetStreamer(std::move(stream0)));
107 return streamer;
108 } else if (test == 5) {
109
110
111 std::vector<std::size_t> jets_cs {5, 6, 7};
112 std::size_t k2{2};
113 std::vector<std::size_t> jets0 {1, 2};
114 std::vector<std::size_t> jets1 {3, 4};
115
116 auto stream2 =
117 std::make_unique<SimpleJetStream>(jets1,
118 std::move(null_stream),
119 2
120 );
121
123 std::make_unique<CombinationsJetStream>(jets_cs,
124 std::move(stream2),
125 k2,
126 1
127 );
128
129
130 auto stream0 =
131 std::make_unique<SimpleJetStream>(jets0,
132 std::move(stream1),
133 0
134 );
135
136 streamer.reset(
new JetStreamer(std::move(stream0)));
137
138 return streamer;
139 } else if (test == 6) {
140
141
142 std::vector<std::size_t> jets_cs {};
143 std::size_t k2{2};
144 std::vector<std::size_t> jets0 {1, 2};
145 std::vector<std::size_t> jets1 {3, 4};
146
147 auto stream2 =
148 std::make_unique<SimpleJetStream>(jets1,
149 std::move(null_stream),
150 2
151 );
152
154 std::make_unique<CombinationsJetStream>(jets_cs,
155 std::move(stream2),
156 k2,
157 1
158 );
159
160
161 auto stream0 =
162 std::make_unique<SimpleJetStream>(jets0,
163 std::move(stream1),
164 0
165 );
166
167 streamer.reset(
new JetStreamer(std::move(stream0)));
168
169 return streamer;
170 } else if (test == 7) {
171
172
173 std::vector<std::size_t> jets_cs {5, 6, 7};
174 std::size_t k4{4};
175 std::vector<std::size_t> jets0 {1, 2};
176 std::vector<std::size_t> jets1 {3, 4};
177
178 auto stream2 =
179 std::make_unique<SimpleJetStream>(jets1,
180 std::move(null_stream),
181 2
182 );
183
185 std::make_unique<CombinationsJetStream>(jets_cs,
186 std::move(stream2),
187 k4,
188 1
189 );
190
191
192 auto stream0 =
193 std::make_unique<SimpleJetStream>(jets0,
194 std::move(stream1),
195 0
196 );
197
198 streamer.reset(
new JetStreamer(std::move(stream0)));
199
200 return streamer;
201 } else if (test == 8) {
202
203 auto stream0 = std::unique_ptr<IJetStream>(nullptr);
204 streamer.reset(
new JetStreamer(std::move(stream0)));
205 return streamer;
206 } else {
207 std::cerr <<
"unknown test << " <<
test <<
'\n';
208 return streamer;
209 }
210}