SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
GroupingFactory.h
Go to the documentation of this file.
1
17/*
18 * GroupingFactory.h
19 *
20 * Created on: Jul 2, 2018
21 * Author: mschefer
22 */
23
24#ifndef _SEIMPLEMENTATION_GROUPING_GROUPINGFACTORY_H_
25#define _SEIMPLEMENTATION_GROUPING_GROUPINGFACTORY_H_
26
30
36
38
39namespace SourceXtractor {
40
42
43public:
44
46 : m_source_group_factory(source_group_factory), m_hard_limit(0) {}
47
48 virtual ~GroupingFactory() = default;
49
53
55 auto grouping_config = manager.getConfiguration<GroupingConfig>();
56 switch (grouping_config.getAlgorithmOption()) {
59 break;
62 break;
65 break;
67 m_grouping_criteria = std::make_shared<MoffatCriteria>(grouping_config.getMoffatThreshold(), grouping_config.getMoffatMaxDistance());
68 break;
71 break;
72 }
73 m_hard_limit = grouping_config.getHardLimit();
74 }
75
82
83private:
86 unsigned int m_hard_limit;
87};
88
89} /* namespace SourceXtractor */
90
91
92
93#endif /* _SEIMPLEMENTATION_GROUPING_GROUPINGFACTORY_H_ */
Interface of objects which can be configured.
Used to select a Grouping algorithm.
void configure(Euclid::Configuration::ConfigManager &manager) override
Method which should initialize the object.
virtual ~GroupingFactory()=default
std::shared_ptr< SourceGrouping > createGrouping() const
GroupingFactory(std::shared_ptr< SourceGroupFactory > source_group_factory)
std::shared_ptr< SourceGroupFactory > m_source_group_factory
std::shared_ptr< GroupingCriteria > m_grouping_criteria
void reportConfigDependencies(Euclid::Configuration::ConfigManager &manager) const override
Registers all the Configuration dependencies.
T make_shared(T... args)