FOUND
Loading...
Searching...
No Matches
factory.hpp
1#ifndef SRC_PROVIDERS_FACTORY_HPP_
2#define SRC_PROVIDERS_FACTORY_HPP_
3
4#include <memory>
5#include <utility>
6
7#include "command-line/execution/executors.hpp"
8#include "providers/stage-providers.hpp"
9
10namespace found {
11
19inline std::unique_ptr<CalibrationPipelineExecutor> CreateCalibrationPipelineExecutor(CalibrationOptions &&options) {
20 return std::make_unique<CalibrationPipelineExecutor>(std::forward<CalibrationOptions>(options),
21 ProvideCalibrationAlgorithm(std::forward<CalibrationOptions>(options)));
22}
23
31inline std::unique_ptr<DistancePipelineExecutor> CreateDistancePipelineExecutor(DistanceOptions &&options) {
32 return std::make_unique<DistancePipelineExecutor>(std::forward<DistanceOptions>(options),
33 ProvideEdgeDetectionAlgorithm(std::forward<DistanceOptions>(options)),
34 ProvideDistanceDeterminationAlgorithm(std::forward<DistanceOptions>(options)),
35 ProvideVectorGenerationAlgorithm(std::forward<DistanceOptions>(options)));
36}
37
38// TODO: Uncomment when orbit stage is implemented
46// inline std::unique_ptr<OrbitPipelineExecutor> CreateOrbitPipelineExecutor(OrbitOptions &&options) {
47// return std::make_unique<OrbitPipelineExecutor>(std::forward<OrbitOptions>(options),
48// ProvideOrbitPropagationAlgorithm(std::forward<OrbitOptions>(options)));
49// }
50
51} // namespace found
52
53#endif // SRC_PROVIDERS_FACTORY_HPP_
Definition options.hpp:81
Definition options.hpp:89