SourceXtractorPlusPlus
0.13
Please provide a description of the project.
SEImplementation
SEImplementation
Partition
PartitionFactory.h
Go to the documentation of this file.
1
17
/*
18
* @file PartitionFactory.h
19
* @author nikoapos
20
*/
21
22
#ifndef _SEIMPLEMENTATION_PARTITIONFACTORY_H
23
#define _SEIMPLEMENTATION_PARTITIONFACTORY_H
24
25
#include "
SEFramework/Configuration/Configurable.h
"
26
#include "
SEFramework/Pipeline/Partition.h
"
27
#include "
SEFramework/Source/SourceFactory.h
"
28
29
#include "
SEImplementation/Configuration/PartitionStepConfig.h
"
30
31
namespace
SourceXtractor
{
32
33
class
PartitionFactory
:
public
Configurable
{
34
35
public
:
36
37
PartitionFactory
(
std::shared_ptr<SourceFactory>
source_factory) :
m_source_factory
{source_factory} {
38
}
39
40
virtual
~PartitionFactory
() =
default
;
41
42
void
reportConfigDependencies
(
Euclid::Configuration::ConfigManager
& manager)
const override
{
43
manager.
registerConfiguration
<
PartitionStepConfig
>();
44
}
45
46
void
configure
(
Euclid::Configuration::ConfigManager
& manager)
override
{
47
m_steps
= manager.
getConfiguration
<
PartitionStepConfig
>().getSteps(
m_source_factory
);
48
}
49
50
std::shared_ptr<Partition>
getPartition
()
const
{
51
return
std::make_shared<Partition>(
m_steps
);
52
}
53
54
private
:
55
56
std::shared_ptr<SourceFactory>
m_source_factory
;
57
std::vector<std::shared_ptr<PartitionStep>
>
m_steps
;
58
59
};
60
61
}
/* namespace SourceXtractor */
62
63
#endif
/* _SEIMPLEMENTATION_PARTITIONFACTORY_H */
64
Euclid::Configuration::ConfigManager::registerConfiguration
void registerConfiguration()
std::shared_ptr< SourceFactory >
SourceXtractor::PartitionFactory
Definition:
PartitionFactory.h:33
Euclid::Configuration::ConfigManager
std::vector
STL class.
SourceXtractor::PartitionFactory::getPartition
std::shared_ptr< Partition > getPartition() const
Definition:
PartitionFactory.h:50
SourceXtractor::PartitionFactory::m_source_factory
std::shared_ptr< SourceFactory > m_source_factory
Definition:
PartitionFactory.h:56
Euclid::Configuration::ConfigManager::getConfiguration
T & getConfiguration()
SourceXtractor::PartitionFactory::PartitionFactory
PartitionFactory(std::shared_ptr< SourceFactory > source_factory)
Definition:
PartitionFactory.h:37
SourceXtractor::PartitionFactory::m_steps
std::vector< std::shared_ptr< PartitionStep > > m_steps
Definition:
PartitionFactory.h:57
SourceXtractor
Definition:
Aperture.h:30
SourceXtractor::PartitionFactory::configure
void configure(Euclid::Configuration::ConfigManager &manager) override
Method which should initialize the object.
Definition:
PartitionFactory.h:46
SourceXtractor::PartitionStepConfig
Definition:
PartitionStepConfig.h:35
SourceXtractor::PartitionFactory::~PartitionFactory
virtual ~PartitionFactory()=default
SourceFactory.h
Configurable.h
Partition.h
PartitionStepConfig.h
SourceXtractor::Configurable
Interface of objects which can be configured.
Definition:
Configurable.h:37
SourceXtractor::PartitionFactory::reportConfigDependencies
void reportConfigDependencies(Euclid::Configuration::ConfigManager &manager) const override
Registers all the Configuration dependencies.
Definition:
PartitionFactory.h:42
Generated by
1.8.20