24 #include "cheetah/utils/TaskConfigurationSetter.h" 31 template<
typename T,
typename DdtrTraits>
34 template<
typename DdtrAlgoFactory>
37 return T(algo_factory._config);
41 template<
typename DdtrTraits>
44 template<
typename DdtrAlgoFactory>
51 template<
typename DdtrTraits>
55 template<
typename,
typename>
57 typedef typename DdtrTraits::Config ConfigType;
64 void none_selected() {
65 PANDA_LOG_WARN <<
"ddtr:: no algorithm has been activated. Please set at least one ddtr algorithm to active.";
68 template<
typename T> T create()
const 73 template<
typename Algo>
76 return _config.template config<typename Algo::Config>().active();
80 ConfigType
const& _config;
85 template<
typename DdtrTraits,
template<
typename>
class... DdtrAlgorithms>
86 template<
typename Handler>
88 : _task(config.pool(), std::forward<Handler>(handler), _plan_setter)
89 , _buffer([
this](
typename DdtrTraits::BufferType&& buffer)
91 if(buffer.composition().empty())
93 PANDA_LOG_WARN <<
"received an empty buffer";
96 _task.submit(std::move(buffer));
98 , ExtendedDedispersionPlan(config, _task)
99 , config.dedispersion_samples()
103 utils::TaskConfigurationSetter<DdtrAlgorithms<DdtrTraits>...>::configure(_task, factory);
generate code for integration of DdtrAlgorithms
Some limits and constants for FLDO.
DDTR module top level API.