24 #ifndef SKA_CHEETAH_PIPELINE_FLDOHANDLER_H 25 #define SKA_CHEETAH_PIPELINE_FLDOHANDLER_H 27 #include <panda/TypeTraits.h> 29 #include <type_traits> 40 template<
typename AccelerationSearchType,
typename Enable=
void>
47 : _out(pipeline.out())
51 void operator()(std::shared_ptr<data::Ocld>
const& data)
53 _out.send(panda::ChannelId(
"ocld"), data);
56 FldoHandlerType
const& handler()
const 62 FldoHandlerType& _out;
65 template<
typename AccelerationSearchType>
66 struct FldoHandler<AccelerationSearchType, typename
std::enable_if<panda::HasMethod<typename AccelerationSearchType::Traits, AccelerationSearchType::template has_create_fldo_handler_t>::value>::type>
68 typedef typename AccelerationSearchType::Traits Traits;
71 typedef typename std::remove_pointer<typename AccelerationSearchType::template has_create_fldo_handler_t<Traits>>::type FldoHandlerType;
74 : _fldo_handler(Traits::create_fldo_handler(pipeline.out(), pipeline._config, pipeline._beam_config))
78 void operator()(std::shared_ptr<data::Ocld>
const& data)
const 80 _fldo_handler->operator()(data);
83 FldoHandlerType
const& handler()
const {
84 return *_fldo_handler;
88 std::unique_ptr<FldoHandlerType> _fldo_handler;
96 #endif // SKA_CHEETAH_PIPELINE_FLDOHANDLER_H
Some limits and constants for FLDO.