Class Pipeline
Defined in File pipeline.h
Class Documentation
-
class Pipeline
Public Types
-
using IntegratorMap = std::unordered_map<std::string, std::unique_ptr<IntegratorBase>>
-
using OperationsArray = std::vector<std::unique_ptr<MapOperationBase>>
Public Functions
-
Pipeline(const Pipeline&) = delete
-
bool hasIntegrator(const std::string &integrator_name) const
Returns true if an integrator with the given name has been registered.
-
bool removeIntegrator(const std::string &integrator_name)
Deregister the integrator with the given name. Returns true if it existed.
-
IntegratorBase *addIntegrator(const std::string &integrator_name, const param::Value &integrator_params)
Create and register a new integrator.
-
IntegratorBase *addIntegrator(const std::string &integrator_name, std::unique_ptr<IntegratorBase> integrator)
Register the given integrator, transferring ownership.
-
IntegratorBase *getIntegrator(const std::string &integrator_name)
Get a pointer to the given integrator, returns nullptr if it does not exist.
-
inline const IntegratorMap &getIntegrators()
Access all registered integrators (read-only)
-
MapOperationBase *addOperation(const param::Value &operation_params)
Create and register a new map operation.
-
MapOperationBase *addOperation(std::unique_ptr<MapOperationBase> operation)
Register the given map operation, transferring ownership.
-
inline const OperationsArray &getOperations()
Access all registered map operations (read-only)
-
template<typename MeasurementT>
bool runIntegrators(const std::vector<std::string> &integrator_names, const MeasurementT &measurement) Integrate a given measurement.
-
template<typename MeasurementT>
bool runPipeline(const std::vector<std::string> &integrator_names, const MeasurementT &measurement) Integrate a given measurement, then run the map operations.
-
using IntegratorMap = std::unordered_map<std::string, std::unique_ptr<IntegratorBase>>