Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ska::cheetah::exporters::DataExport< DataTypes > Class Template Referenceabstract

This class initialises a suitable panda::DataSwitch according to the exporters::DataExportConfiguration and the provided factory methods. More...

#include <cheetah/exporters/DataExport.h>

Inheritance diagram for ska::cheetah::exporters::DataExport< DataTypes >:
Inheritance graph
Collaboration diagram for ska::cheetah::exporters::DataExport< DataTypes >:
Collaboration graph

Public Member Functions

 DataExport (exporters::DataExportConfig const &)
 
std::set< ExporterType > const & available () const
 return the exporter types available in this class
 
template<typename DataType >
TestProbe< DataType > & activate_test_probe (panda::ChannelId const &)
 activates a TestProbe object for monitoring the streamed data of DataType to a specific
 

Protected Member Functions

template<typename DataType , typename FactoryType >
void set_factory (ExporterType const &type_id, FactoryType factory)
 
void init ()
 initialise the output handlers using the factories supplied by set_factory(). Only call after all factories have been set More...
 

Protected Attributes

std::tuple< ExportInitialiser< DataExport< DataTypes... >, DataTypes >... > _initialisers
 
DataExportConfig const & _config
 
std::set< ExporterType_types
 

Detailed Description

template<typename... DataTypes>
class ska::cheetah::exporters::DataExport< DataTypes >

This class initialises a suitable panda::DataSwitch according to the exporters::DataExportConfiguration and the provided factory methods.

This is a base class, and is not intended for direct use. Inherit from this class and call set_factory() and init() in your constructor. set_factory will define the types of exporters that can be activated, and the init() will produce concrete instances of these types according to the configuration provided. add_factory will allow you to define a configuration module generator to associate with the type.

Definition at line 55 of file DataExport.h.

Member Function Documentation

◆ init()

template<typename... DataTypes>
void ska::cheetah::exporters::DataExport< DataTypes >::init ( )
protected

initialise the output handlers using the factories supplied by set_factory(). Only call after all factories have been set

only call once, in the constructor of the derived class

Examples:
/home/docs/checkouts/readthedocs.org/user_builds/ska-pss-cheetah/checkouts/st-1252/cheetah/exporters/DataExport.h.

Definition at line 119 of file DataExport.cpp.

120 {
121  for(auto const &exporter : _config.exporters()) {
122  panda::for_each(_initialisers, LaunchInitialiser<DataExportStreamConfig>(exporter));
123  }
124 }
std::vector< DataExportStreamConfig > const & exporters() const
return a list of configured export streamer configurations

The documentation for this class was generated from the following files: