24 #ifndef SKA_CHEETAH_DDTR_CPU_DEDISPERSIONPLAN_H 25 #define SKA_CHEETAH_DDTR_CPU_DEDISPERSIONPLAN_H 27 #include "cheetah/data/TimeFrequency.h" 28 #include "cheetah/ddtr/Config.h" 29 #include "cheetah/ddtr/cpu/Config.h" 40 template <
typename DdtrTraits>
44 typedef typename DdtrTraits::value_type NumericalT;
45 typedef typename DdtrTraits::DedispersionHandler DedispersionHandler;
46 typedef typename DdtrTraits::DmTrialsType DmTrialsType;
47 typedef typename DdtrTraits::TimeFrequencyType TimeFrequencyType;
48 typedef ddtr::Config::Dm Dm;
49 typedef typename DdtrTraits::BufferFillerType BufferFillerType;
50 typedef typename DdtrTraits::BufferType BufferType;
51 typedef std::vector<ddtr::Config::Dm> DmListType;
52 typedef typename TimeFrequencyType::FrequencyType FrequencyType;
53 typedef typename TimeFrequencyType::TimeType TimeType;
54 typedef std::vector<FrequencyType> FrequencyListType;
68 data::DimensionSize<data::Time>
reset(TimeFrequencyType
const&);
73 void reset(data::DimensionSize<data::Time>
const& spectra);
103 std::shared_ptr<data::DmTrialsMetadata> generate_dmtrials_metadata(TimeType sample_interval, data::DimensionSize<data::Time> nspectra, std::size_t nsamples)
const;
106 ConfigType
const& _algo_config;
108 data::DimensionSize<data::Time> _max_delay;
109 data::DimensionSize<data::Time> _number_of_spectra;
110 std::shared_ptr<data::DmTrialsMetadata> _dm_trial_metadata;
111 std::vector<double> _dm_factors;
119 #include "cheetah/ddtr/cpu/detail/DedispersionPlan.cpp" 120 #endif // SKA_CHEETAH_DDTR_CPU_DEDISPERSIONPLAN_H std::vector< Dm > const & dm_trials() const
return algo specific dm_trials
data::DimensionSize< data::Time > reset(TimeFrequencyType const &)
reset the plan to be compatible with the TimeFrequency metadata
data::DimensionSize< data::Time > buffer_overlap() const
return the number of spectra in the overlap buffer
std::vector< double > const & dm_factors() const
return algo specific dm_factors
Some limits and constants for FLDO.
DedispersionPlan(ConfigType const &config, std::size_t max_data_elements)
data::DimensionSize< data::Time > number_of_spectra() const
return the number of spectra currently configured
std::shared_ptr< data::DmTrialsMetadata > dm_trials_metadata(data::TimeFrequencyMetadata const &tf_info, data::DimensionSize< data::Time > number_of_spectra)
return a DmTrialsMetadata block consistent with the plan and the incoming data parameters ...