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