39 template<
typename FUNCTION,
typename RESULT>
48 Function = FUNCTION();
65 _Particles[0] = &thrust::get<0>(particles);
66 _Particles[1] = &thrust::get<1>(particles);
76 _Particles[0] = &thrust::get<0>(particles);
77 _Particles[1] = &thrust::get<1>(particles);
78 _Particles[2] = &thrust::get<2>(particles);
88 _Particles[0] = &thrust::get<0>(particles);
89 _Particles[1] = &thrust::get<1>(particles);
90 _Particles[2] = &thrust::get<2>(particles);
91 _Particles[3] = &thrust::get<3>(particles);
102 _Particles[0] = &thrust::get<0>(particles);
103 _Particles[1] = &thrust::get<1>(particles);
104 _Particles[2] = &thrust::get<2>(particles);
105 _Particles[3] = &thrust::get<3>(particles);
106 _Particles[4] = &thrust::get<4>(particles);
116 _Particles[0] = &thrust::get<0>(particles);
117 _Particles[1] = &thrust::get<1>(particles);
118 _Particles[2] = &thrust::get<2>(particles);
119 _Particles[3] = &thrust::get<3>(particles);
120 _Particles[4] = &thrust::get<4>(particles);
121 _Particles[5] = &thrust::get<5>(particles);
131 _Particles[0] = &thrust::get<0>(particles);
132 _Particles[1] = &thrust::get<1>(particles);
133 _Particles[2] = &thrust::get<2>(particles);
134 _Particles[3] = &thrust::get<3>(particles);
135 _Particles[4] = &thrust::get<4>(particles);
136 _Particles[5] = &thrust::get<5>(particles);
137 _Particles[6] = &thrust::get<6>(particles);
147 _Particles[0] = &thrust::get<0>(particles);
148 _Particles[1] = &thrust::get<1>(particles);
149 _Particles[2] = &thrust::get<2>(particles);
150 _Particles[3] = &thrust::get<3>(particles);
151 _Particles[4] = &thrust::get<4>(particles);
152 _Particles[5] = &thrust::get<5>(particles);
153 _Particles[6] = &thrust::get<6>(particles);
154 _Particles[7] = &thrust::get<7>(particles);
165 _Particles[0] = &thrust::get<0>(particles);
166 _Particles[1] = &thrust::get<1>(particles);
167 _Particles[2] = &thrust::get<2>(particles);
168 _Particles[3] = &thrust::get<3>(particles);
169 _Particles[4] = &thrust::get<4>(particles);
170 _Particles[5] = &thrust::get<5>(particles);
171 _Particles[6] = &thrust::get<6>(particles);
172 _Particles[7] = &thrust::get<7>(particles);
173 _Particles[8] = &thrust::get<8>(particles);
183 _Particles[0] = &thrust::get<0>(particles);
184 _Particles[1] = &thrust::get<1>(particles);
185 _Particles[2] = &thrust::get<2>(particles);
186 _Particles[3] = &thrust::get<3>(particles);
187 _Particles[4] = &thrust::get<4>(particles);
188 _Particles[5] = &thrust::get<5>(particles);
189 _Particles[6] = &thrust::get<6>(particles);
190 _Particles[7] = &thrust::get<7>(particles);
191 _Particles[8] = &thrust::get<8>(particles);
192 _Particles[9] = &thrust::get<9>(particles);
199 template<
typename FUNCTION>
207 Function = FUNCTION();
224 _Particles[0] = &thrust::get<0>(particles);
225 _Particles[1] = &thrust::get<1>(particles);
235 _Particles[0] = &thrust::get<0>(particles);
236 _Particles[1] = &thrust::get<1>(particles);
237 _Particles[2] = &thrust::get<2>(particles);
247 _Particles[0] = &thrust::get<0>(particles);
248 _Particles[1] = &thrust::get<1>(particles);
249 _Particles[2] = &thrust::get<2>(particles);
250 _Particles[3] = &thrust::get<3>(particles);
261 _Particles[0] = &thrust::get<0>(particles);
262 _Particles[1] = &thrust::get<1>(particles);
263 _Particles[2] = &thrust::get<2>(particles);
264 _Particles[3] = &thrust::get<3>(particles);
265 _Particles[4] = &thrust::get<4>(particles);
275 _Particles[0] = &thrust::get<0>(particles);
276 _Particles[1] = &thrust::get<1>(particles);
277 _Particles[2] = &thrust::get<2>(particles);
278 _Particles[3] = &thrust::get<3>(particles);
279 _Particles[4] = &thrust::get<4>(particles);
280 _Particles[5] = &thrust::get<5>(particles);
290 _Particles[0] = &thrust::get<0>(particles);
291 _Particles[1] = &thrust::get<1>(particles);
292 _Particles[2] = &thrust::get<2>(particles);
293 _Particles[3] = &thrust::get<3>(particles);
294 _Particles[4] = &thrust::get<4>(particles);
295 _Particles[5] = &thrust::get<5>(particles);
296 _Particles[6] = &thrust::get<6>(particles);
306 _Particles[0] = &thrust::get<0>(particles);
307 _Particles[1] = &thrust::get<1>(particles);
308 _Particles[2] = &thrust::get<2>(particles);
309 _Particles[3] = &thrust::get<3>(particles);
310 _Particles[4] = &thrust::get<4>(particles);
311 _Particles[5] = &thrust::get<5>(particles);
312 _Particles[6] = &thrust::get<6>(particles);
313 _Particles[7] = &thrust::get<7>(particles);
324 _Particles[0] = &thrust::get<0>(particles);
325 _Particles[1] = &thrust::get<1>(particles);
326 _Particles[2] = &thrust::get<2>(particles);
327 _Particles[3] = &thrust::get<3>(particles);
328 _Particles[4] = &thrust::get<4>(particles);
329 _Particles[5] = &thrust::get<5>(particles);
330 _Particles[6] = &thrust::get<6>(particles);
331 _Particles[7] = &thrust::get<7>(particles);
332 _Particles[8] = &thrust::get<8>(particles);
342 _Particles[0] = &thrust::get<0>(particles);
343 _Particles[1] = &thrust::get<1>(particles);
344 _Particles[2] = &thrust::get<2>(particles);
345 _Particles[3] = &thrust::get<3>(particles);
346 _Particles[4] = &thrust::get<4>(particles);
347 _Particles[5] = &thrust::get<5>(particles);
348 _Particles[6] = &thrust::get<6>(particles);
349 _Particles[7] = &thrust::get<7>(particles);
350 _Particles[8] = &thrust::get<8>(particles);
351 _Particles[9] = &thrust::get<9>(particles);
358 template<
typename FUNCTION>
366 Function = FUNCTION();
384 _real = &thrust::get<0>(tuples);
385 _Particles[0] = &thrust::get<1>(tuples);
386 _Particles[1] = &thrust::get<2>(tuples);
398 _real = &thrust::get<0>(tuples);
399 _Particles[0] = &thrust::get<1>(tuples);
400 _Particles[1] = &thrust::get<2>(tuples);
401 _Particles[2] = &thrust::get<3>(tuples);
414 _real = &thrust::get<0>(tuples);
415 _Particles[0] = &thrust::get<1>(tuples);
416 _Particles[1] = &thrust::get<2>(tuples);
417 _Particles[2] = &thrust::get<3>(tuples);
418 _Particles[3] = &thrust::get<4>(tuples);
430 _real = &thrust::get<0>(tuples);
431 _Particles[0] = &thrust::get<1>(tuples);
432 _Particles[1] = &thrust::get<2>(tuples);
433 _Particles[2] = &thrust::get<3>(tuples);
434 _Particles[3] = &thrust::get<4>(tuples);
435 _Particles[4] = &thrust::get<5>(tuples);
447 _real = &thrust::get<0>(tuples);
448 _Particles[0] = &thrust::get<1>(tuples);
449 _Particles[1] = &thrust::get<2>(tuples);
450 _Particles[2] = &thrust::get<3>(tuples);
451 _Particles[3] = &thrust::get<4>(tuples);
452 _Particles[4] = &thrust::get<5>(tuples);
453 _Particles[5] = &thrust::get<6>(tuples);
465 _real = &thrust::get<0>(tuples);
466 _Particles[0] = &thrust::get<1>(tuples);
467 _Particles[1] = &thrust::get<2>(tuples);
468 _Particles[2] = &thrust::get<3>(tuples);
469 _Particles[3] = &thrust::get<4>(tuples);
470 _Particles[4] = &thrust::get<5>(tuples);
471 _Particles[5] = &thrust::get<6>(tuples);
472 _Particles[6] = &thrust::get<7>(tuples);
485 _real = &thrust::get<0>(tuples);
486 _Particles[0] = &thrust::get<1>(tuples);
487 _Particles[1] = &thrust::get<2>(tuples);
488 _Particles[2] = &thrust::get<3>(tuples);
489 _Particles[3] = &thrust::get<4>(tuples);
490 _Particles[4] = &thrust::get<5>(tuples);
491 _Particles[5] = &thrust::get<6>(tuples);
492 _Particles[6] = &thrust::get<7>(tuples);
493 _Particles[7] = &thrust::get<8>(tuples);
505 _real = &thrust::get<0>(tuples);
506 _Particles[0] = &thrust::get<1>(tuples);
507 _Particles[1] = &thrust::get<2>(tuples);
508 _Particles[2] = &thrust::get<3>(tuples);
509 _Particles[3] = &thrust::get<4>(tuples);
510 _Particles[4] = &thrust::get<5>(tuples);
511 _Particles[5] = &thrust::get<6>(tuples);
512 _Particles[6] = &thrust::get<7>(tuples);
513 _Particles[7] = &thrust::get<8>(tuples);
514 _Particles[8] = &thrust::get<9>(tuples);
__host__ __device__ void operator()(GT2 particles)
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GT5
GT5 iterator is a typedef for thrust::detail::tuple_of_iterator_references
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GT3
GT3 iterator is a typedef for thrust::detail::tuple_of_iterator_references
thrust::detail::tuple_of_iterator_references< GReal_t &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GTR5
GTR5 iterator is a typedef for thrust::detail::tuple_of_iterator_references
__host__ __device__ void operator()(GT6 particles)
thrust::detail::tuple_of_iterator_references< GReal_t &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GTR6
GTR6 iterator is a typedef for thrust::detail::tuple_of_iterator_references
thrust::detail::tuple_of_iterator_references< GReal_t &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GTR4
GTR4 iterator is a typedef for thrust::detail::tuple_of_iterator_references
Calculate(const FUNCTION &_Function)
Typedef for useful container classes used in MCBooster.
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GT2
GT2 iterator is a typedef for thrust::detail::tuple_of_iterator_references
__host__ __device__ RESULT operator()(GT9 &particles)
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type > GT9
GT9 iterator is a typedef for thrust::detail::tuple_of_iterator_references
__host__ __device__ RESULT operator()(GT2 &particles)
__host__ __device__ RESULT operator()(GT10 &particles)
__host__ __device__ RESULT operator()(GT7 &particles)
__host__ __device__ void operator()(GTR4 tuples)
__host__ __device__ RESULT operator()(GT4 &particles)
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R & > GT10
GT10 iterator is a typedef for thrust::detail::tuple_of_iterator_references
__host__ __device__ void operator()(GTR8 tuples)
Calculate2(const FUNCTION &_Function)
__host__ __device__ void operator()(GT9 particles)
__host__ __device__ void operator()(GTR5 tuples)
__host__ __device__ void operator()(GT3 particles)
__host__ __device__ void operator()(GTR10 tuples)
__host__ __device__ void operator()(GT10 particles)
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type > GT7
GT7 iterator is a typedef for thrust::detail::tuple_of_iterator_references
__host__ __device__ void operator()(GTR6 tuples)
Calculate3(const FUNCTION &_Function)
__host__ __device__ RESULT operator()(GT8 &particles)
double GReal_t
Double 8 bytes or float 4 bytes.
thrust::detail::tuple_of_iterator_references< GReal_t &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type > GTR8
GTR8 iterator is a typedef for thrust::detail::tuple_of_iterator_references
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GT4
GT4 iterator is a typedef for thrust::detail::tuple_of_iterator_references
thrust::detail::tuple_of_iterator_references< GReal_t &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R & > GTR10
GTR10 iterator is a typedef for thrust::detail::tuple_of_iterator_references
thrust::detail::tuple_of_iterator_references< GReal_t &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type > GTR7
GTR7 iterator is a typedef for thrust::detail::tuple_of_iterator_references
__host__ __device__ void operator()(GT5 particles)
__host__ __device__ void operator()(GT4 particles)
__host__ __device__ RESULT operator()(GT3 &particles)
__host__ __device__ void operator()(GT8 particles)
__host__ __device__ RESULT operator()(GT5 &particles)
__host__ __device__ void operator()(GTR9 tuples)
__host__ __device__ RESULT operator()(GT6 &particles)
__host__ __device__ void operator()(GTR3 tuples)
thrust::detail::tuple_of_iterator_references< GReal_t &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type > GTR9
GTR9 iterator is a typedef for thrust::detail::tuple_of_iterator_references
thrust::detail::tuple_of_iterator_references< GReal_t &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GTR3
GTR3 iterator is a typedef for thrust::detail::tuple_of_iterator_references
__host__ __device__ void operator()(GT7 particles)
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type > GT6
GT6 iterator is a typedef for thrust::detail::tuple_of_iterator_references
__host__ __device__ void operator()(GTR7 tuples)
thrust::detail::tuple_of_iterator_references< Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, Vector4R &, thrust::null_type, thrust::null_type > GT8
GT8 iterator is a typedef for thrust::detail::tuple_of_iterator_references