24 #include "cheetah/pipeline/CheetahConfig.h" 25 #include "panda/Log.h" 32 template<
typename NumericalT,
typename AccelerationSearchTraitsT>
33 AccelerationSearch<NumericalT, AccelerationSearchTraitsT>::SiftHandler::SiftHandler(AccelerationSearch& pipeline)
38 template<
typename NumericalT,
typename AccelerationSearchTraitsT>
39 void AccelerationSearch<NumericalT, AccelerationSearchTraitsT>::SiftHandler::operator()(std::shared_ptr<data::Scl> scl)
const 41 _pipeline._fldo(_pipeline._tf_data, *scl);
44 template<
typename NumericalT,
typename AccelerationSearchTraitsT>
45 AccelerationSearch<NumericalT, AccelerationSearchTraitsT>::AccelerationSearch(CheetahConfig<NumericalT>
const& config, BeamConfig<NumericalT>
const& beam_config)
46 : BaseT(config, beam_config)
48 , _beam_config(beam_config)
49 , _fldo_handler(*this)
50 , _fldo(config.fldo_config(), _fldo_handler)
51 , _sift_handler(*this)
52 , _sift(config.sift_config(), _sift_handler)
53 , _acceleration_search(AccelerationSearchTraitsT::create_acceleration_search_algo(config.acceleration_search_config(), _sift))
54 , _psbc(config.psbc_config(), *_acceleration_search)
55 , _dm_switch(config.switch_config())
56 , _dedisperser(AccelerationSearchTraitsT::create_dedispersion_pipeline(config, beam_config,
57 [this](
std::shared_ptr<DmTrialsType> data) {
58 _dm_switch.send(panda::ChannelId(
"acc_search"), data);
62 _dm_switch.template add<DmTrialsType>(panda::ChannelId(
"acc_search"),
63 [
this](DmTrialsType& data) {
66 _psbc(data.shared_from_this());
70 template<
typename NumericalT,
typename AccelerationSearchTraitsT>
71 AccelerationSearch<NumericalT, AccelerationSearchTraitsT>::~AccelerationSearch()
73 _config.pool_manager().wait();
74 PANDA_LOG_DEBUG <<
"AccelerationSearch<NumericalT, typename AccelerationSearchTraitsT>::~AccelerationSearch()";
77 template<
typename NumericalT,
typename AccelerationSearchTraitsT>
80 _tf_data.push_back(chunk.shared_from_this());
81 (*_dedisperser)(chunk);
84 template<
typename NumericalT,
typename AccelerationSearchTraitsT>
87 return *_acceleration_search;
90 template<
typename NumericalT,
typename AccelerationSearchTraitsT>
96 template<
typename NumericalT,
typename AccelerationSearchTraitsT>
99 return _fldo_handler.handler();
void operator()(TimeFrequencyType &) override
called whenever data is available for processing
AccelerationSearchAlgoType const & acceleration_search_pipeline() const
access the acceleration_search pipeline object
Some limits and constants for FLDO.
FldoHandler::FldoHandlerType const & fldo_handler() const
access the fldo handler object
Base class for dedispersion pipeline handlers.
Dedispersion< NumericalT > const & dedispersion_pipeline() const
access to the dedispersion pipeline object