24 #ifndef SKA_CHEETAH_PRODUCERS_SPCCLSPEADPRODUCER_H 25 #define SKA_CHEETAH_PRODUCERS_SPCCLSPEADPRODUCER_H 29 #include "cheetah/exporters/SpCclSpeadReader.h" 30 #include "cheetah/data/SpCandidateData.h" 31 #include "panda/Producer.h" 42 template<
typename DerivedType,
typename TimeFrequencyT>
43 class SpCclSpeadProducerCRTP :
public panda::Producer<DerivedType, data::SpCandidateData<TimeFrequencyT>>
45 typename panda::Producer<DerivedType, data::SpCandidateData<TimeFrequencyT>> BaseT;
48 typedef TimeFrequencyT TimeFrequencyType;
52 explicit SpCclSpeadProducerCRTP(exporters::SpCclSpeadReaderConfig
const&);
53 ~SpCclSpeadProducerCRTP();
54 SpCclSpeadProducerCRTP(SpCclSpeadProducerCRTP
const&) =
delete;
55 SpCclSpeadProducerCRTP(SpCclSpeadProducerCRTP&&) =
delete;
56 typedef data::SpCandidateData<TimeFrequencyType> SpCclType;
65 DataFactory(SpCclSpeadProducerCRTP& producer)
69 std::shared_ptr<SpCclType> operator()();
72 SpCclSpeadProducerCRTP& _producer;
76 DataFactory _data_factory;
77 exporters::SpCclSpeadReader<TimeFrequencyType, NullCallback, DataFactory> _reader;
80 template<
typename TimeFrequencyT>
81 class SpCclSpeadProducer :
public SpCclSpeadProducerCRTP<SpCclSpeadProducer<TimeFrequencyT>, TimeFrequencyT>
83 typedef SpCclSpeadProducerCRTP<SpCclSpeadProducer<TimeFrequencyT>, TimeFrequencyT> BaseT;
86 SpCclSpeadProducer(exporters::SpCclSpeadReaderConfig
const&);
87 using SpCclSpeadProducerCRTP<SpCclSpeadProducer<TimeFrequencyT>, TimeFrequencyT>::SpCclSpeadProducerCRTP;
93 #include "detail/SpCclSpeadProducer.cpp" 95 #endif // ENABLE_SPEAD 96 #endif // SKA_CHEETAH_PRODUCERS_SPCCLSPEADPRODUCER_H Some limits and constants for FLDO.