24 #include "cheetah/pipeline/SinglePulseFactory.h" 25 #include "cheetah/pipeline/detail/SinglePulseImpl.h" 26 #include "cheetah/pipeline/detail/RfimSinglePulseImpl.h" 27 #include "cheetah/rfim/policy/FlagPolicy.h" 28 #include "cheetah/rfim/policy/LastUnflagged.h" 36 template<
typename NumericalT>
37 SinglePulseFactory<NumericalT>::SinglePulseFactory(CheetahConfig<NumericalT>
const& config)
42 template<
typename NumericalT>
43 SinglePulseFactory<NumericalT>::~SinglePulseFactory()
47 template<
typename NumericalT>
48 template<
template <
typename>
class RfimPolicyTempl,
typename DmHandler>
49 Dedispersion<NumericalT>* SinglePulseFactory<NumericalT>::create_policy(BeamConfig<NumericalT>
const& beam_config, DmHandler&& dm_handler)
const 51 if(!_config.rfim_config().algo_defined()) {
52 return new SinglePulseImpl<NumericalT>(_config, beam_config, std::forward<DmHandler>(dm_handler));
55 return new RfimSinglePulseImpl<NumericalT, RfimPolicyTempl>(_config, beam_config, std::forward<DmHandler>(dm_handler));
59 template<
typename NumericalT>
60 template<
typename DmHandler>
61 Dedispersion<NumericalT>* SinglePulseFactory<NumericalT>::create(BeamConfig<NumericalT>
const& beam_config, DmHandler&& dm_handler)
const 63 if(!_config.rfim_config().algo_defined()) {
64 return new SinglePulseImpl<NumericalT>(_config, beam_config, std::forward<DmHandler>(dm_handler));
67 if(_config.rfim_config().flag_policy()) {
68 return create_policy<rfim::FlagPolicy>(beam_config, std::forward<DmHandler>(dm_handler));
71 return create_policy<rfim::LastUnflagged>(beam_config, std::forward<DmHandler>(dm_handler));
Some limits and constants for FLDO.