24 #ifndef SKA_CHEETAH_TDAS_TDAS_H 25 #define SKA_CHEETAH_TDAS_TDAS_H 27 #include "cheetah/tdas/Config.h" 28 #include "cheetah/tdas/cuda/Tdas.h" 29 #include "cheetah/data/Ccl.h" 30 #include "cheetah/data/detail/DmTimeSlice.h" 31 #include "cheetah/data/DmTime.h" 32 #include "cheetah/data/DmTrials.h" 33 #include "panda/ConfigurableTask.h" 34 #include "panda/AlgorithmTuple.h" 35 #include "panda/Log.h" 43 typedef data::DmTrials<cheetah::Cpu,float> DmTrialsType;
44 typedef data::DmTime<DmTrialsType> DmTimeType;
45 typedef data::detail::DmTimeSlice<DmTimeType> DmTimeSliceType;
60 typedef panda::AlgorithmTuple<cuda::Tdas<T>> Implementations;
90 template <
typename Arch,
typename... Args>
91 std::shared_ptr<data::Ccl>
process(panda::PoolResource<Arch>& resource,
92 DmTimeSliceType
const& data,
97 Implementations _implementations;
106 template <
typename T,
typename Handler=
void>
116 Tdas(ConfigType
const& config, Handler& handler);
126 void operator()(std::shared_ptr<DmTimeType>
const& data);
129 ConfigType
const& _config;
130 panda::ConfigurableTask<typename Config::PoolType, Handler&, std::shared_ptr<DmTimeSliceType>> _task;
138 template <
typename T>
149 #include "cheetah/tdas/detail/Tdas.cpp" 151 #endif // SKA_CHEETAH_TDAS_TDAS_H Top-level synchronous interface for the Tdas module.
Async + Sync mixed interface for Tdas.
Some limits and constants for FLDO.
std::shared_ptr< data::Ccl > process(panda::PoolResource< Arch > &resource, DmTimeSliceType const &data, Args &&... args)
Process a DmTimeSlice in search of significant periodic signals over a range of acceleration values...
TdasBase(Config const &config)
Construct a new TdasBase instance.