24 #ifndef SKA_CHEETAH_SPS_SPS_H 25 #define SKA_CHEETAH_SPS_SPS_H 27 #include "cheetah/sps/Config.h" 28 #include "cheetah/sps/detail/SpsTask.h" 29 #include "cheetah/sps/detail/CommonTypes.h" 30 #include "cheetah/data/TimeFrequency.h" 31 #include "cheetah/data/RfimFlaggedData.h" 32 #include "cheetah/sps/detail/RfiExcisionFactory.h" 33 #include "panda/AlgorithmTuple.h" 34 #include "panda/AggregationBufferFiller.h" 60 template<
class ConfigType,
typename NumericalT>
70 typedef typename CommonTraits::BufferFillerType BufferFillerType;
72 typedef std::function<void(std::shared_ptr<DmTrialType>)> DmHandler;
73 typedef std::function<void(std::shared_ptr<SpType>)> SpHandler;
76 typedef typename ConfigType::PoolType PoolType;
77 template<
typename... Algos>
87 Sps(ConfigType
const&, DmHandler dm_handler, SpHandler sm_handler);
107 void agg_buffer_init(TimeFrequencyType
const&);
109 template<
typename DataT>
110 void agg_buffer_fill(DataT&);
115 std::shared_ptr<TaskType> _task_ptr;
117 std::size_t _dedisp_samples;
118 BufferFillerType _agg_buf_filler;
120 std::size_t _current_number_of_channels;
121 std::size_t _algo_count;
122 ConfigType
const& _config;
128 #include "cheetah/sps/detail/Sps.cpp" 130 #endif // SKA_CHEETAH_SPS_SPS_H Single pulse search asynchronous task.
Contains common types used through sps.
Single Pulse Search top level interface.
TimeFrequency data with flags representing rfim detection.
Some limits and constants for FLDO.
void operator()(TimeFrequencyType &)
Call to activate the Dedispersion and Single Pulse Search.
Sps(ConfigType const &, DmHandler dm_handler, SpHandler sm_handler)
Constructor takes two Handlers.
A continuous memory container for dispersion measure trials of varying downsamplings.