12 #include <type_traits>
30 template <
typename T,
typename generator_t,
typename detector_t,
32 typename = decltype(std::declval<T>().
operator()(
33 std::declval<generator_t &>(), std::declval<const detector_t &>(),
34 std::declval<particle_t &>(),
35 std::declval<std::vector<particle_t> &>()))>
39 template <
typename,
typename,
typename,
typename>
42 template <
typename T,
typename generator_t,
typename detector_t,
44 struct process_signature_check
45 : decltype(test_physics_list<T, generator_t, detector_t, particle_t>(0)) {};
50 template <
typename T,
typename generator_t,
typename detector_t,