24 #include "cheetah/generators/GeneratorApp.h" 25 #include "pss/astrotypes/units/ModifiedJulianClock.h" 30 namespace generators {
34 GeneratorApp<T>::GeneratorApp(GeneratorAppConfig
const& config, GeneratorFactory<T>& generator_factory)
35 : _data_ptr(
std::make_shared<DataType>(data::DimensionSize<data::Time>(config.number_of_time_samples()), data::DimensionSize<data::Frequency>(config.number_of_channels())))
37 , _iters(config.number_of_chunks())
38 , _writer(config.sigproc_config())
40 _data.set_channel_frequencies_const_width(config.start_frequency(), config.channel_width());
41 _data.sample_interval(config.sample_interval());
42 _data.start_time(pss::astrotypes::units::ModifiedJulianClock::now());
43 for(
auto const& generator_name : config.data_generator()) {
44 _models.emplace_back(std::unique_ptr<DataGenerator>(generator_factory.create(generator_name)));
49 GeneratorApp<T>::~GeneratorApp()
54 void GeneratorApp<T>::exec()
56 std::size_t iter = _iters;
58 for(
auto& model : _models) {
62 _data.start_time(_data.end_time() + _data.sample_interval());
Some limits and constants for FLDO.