SourceXtractorPlusPlus
0.15
Please provide a description of the project.
SEImplementation
src
lib
Configuration
AttractorsPartitionConfig.cpp
Go to the documentation of this file.
1
17
/*
18
* @file AttractorsPartitionConfig.cpp
19
* @author nikoapos
20
*/
21
22
#include "
SEImplementation/Configuration/AttractorsPartitionConfig.h
"
23
#include "
SEImplementation/Configuration/PartitionStepConfig.h
"
24
#include "
SEImplementation/Configuration/MinAreaPartitionConfig.h
"
25
26
#include "
SEImplementation/Partition/AttractorsPartitionStep.h
"
27
28
using namespace
Euclid::Configuration
;
29
namespace
po = boost::program_options;
30
31
namespace
SourceXtractor
{
32
33
static
const
std::string
USE_ATTRACTORS_PARTITION
{
"use-attractors-partition"
};
34
35
AttractorsPartitionConfig::AttractorsPartitionConfig(
long
manager_id) :
Configuration
(manager_id) {
36
declareDependency<PartitionStepConfig>();
37
ConfigManager::getInstance
(manager_id).
registerDependency
<
AttractorsPartitionConfig
,
MinAreaPartitionConfig
>();
38
39
}
40
41
auto
AttractorsPartitionConfig::getProgramOptions
() ->
std::map<std::string, OptionDescriptionList>
{
42
return
{ {
"Extraction"
, {
43
{
USE_ATTRACTORS_PARTITION
.
c_str
(), po::bool_switch(),
44
"Enables the use of attractors for partitioning"
}
45
}}};
46
}
47
48
void
AttractorsPartitionConfig::initialize
(
const
UserValues
& args) {
49
if
(args.
at
(
USE_ATTRACTORS_PARTITION
).as<
bool
>()) {
50
getDependency<PartitionStepConfig>().addPartitionStepCreator(
51
[](
std::shared_ptr<SourceFactory>
source_factory) {
52
return
std::make_shared<AttractorsPartitionStep>(source_factory);
53
}
54
);
55
}
56
}
57
58
}
// SourceXtractor namespace
AttractorsPartitionConfig.h
AttractorsPartitionStep.h
MinAreaPartitionConfig.h
PartitionStepConfig.h
std::map::at
T at(T... args)
std::string
std::string::c_str
T c_str(T... args)
Euclid::Configuration::ConfigManager::registerDependency
void registerDependency()
Euclid::Configuration::ConfigManager::getInstance
static ConfigManager & getInstance(long id)
Euclid::Configuration::Configuration
SourceXtractor::AttractorsPartitionConfig::AttractorsPartitionConfig
AttractorsPartitionConfig(long manager_id)
Definition:
AttractorsPartitionConfig.cpp:35
SourceXtractor::AttractorsPartitionConfig::getProgramOptions
std::map< std::string, OptionDescriptionList > getProgramOptions() override
Definition:
AttractorsPartitionConfig.cpp:41
SourceXtractor::AttractorsPartitionConfig::initialize
void initialize(const UserValues &args) override
Definition:
AttractorsPartitionConfig.cpp:48
SourceXtractor::MinAreaPartitionConfig
Definition:
MinAreaPartitionConfig.h:29
std::map
Euclid::Configuration
SourceXtractor
Definition:
Aperture.h:30
SourceXtractor::USE_ATTRACTORS_PARTITION
static const std::string USE_ATTRACTORS_PARTITION
Definition:
AttractorsPartitionConfig.cpp:33
std::shared_ptr< SourceFactory >
Generated by
1.9.1