24 #ifndef SKA_CHEETAH_PIPELINE_PIPELINEHANDLERFACTORY_H 25 #define SKA_CHEETAH_PIPELINE_PIPELINEHANDLERFACTORY_H 27 #include "cheetah/pipeline/PipelineHandler.h" 31 #include "cheetah/data/TimeFrequency.h" 37 template<
typename NumericalT>
40 template<
typename NumericalT>
54 typedef uint8_t NumericalT;
58 typedef std::function<HandlerType*(CheetahConfig<NumericalT>
const&,
BeamConfig<NumericalT> const&)> FactoryType;
67 std::vector<std::string>
available()
const;
85 template<
typename TypeFactory>
86 void add_type(std::string
const& handler_name, TypeFactory factory);
88 template<
typename TypeFactory>
89 void add_factory(std::string
const& handler_name, TypeFactory
const& factory);
93 std::map<std::string, FactoryType> _map;
94 std::map<std::string, FactoryType> _timed_map;
95 std::vector<std::string> _types;
102 #endif // SKA_CHEETAH_PIPELINE_PIPELINEHANDLERFACTORY_H
HandlerType * create_timed(std::string const &type, BeamConfig< NumericalT > const &) const
create a handler of the named type with a MixInTimer to record the time of each invocation ...
std::vector< std::string > available() const
return a vector of available pipeline
Some limits and constants for FLDO.
Parse configuration parameters for a single beam in the pipeline instance of cheetah.
Base class for Cheetah Pipeline Handlers.
Generates pipeline handler objects by name.
HandlerType * create(std::string const &type, BeamConfig< NumericalT > const &) const
create a handler of the named type