SourceXtractorPlusPlus
0.19
SourceXtractor++, the next generation SExtractor
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SEFramework
SEFramework
Pipeline
Deblending.h
Go to the documentation of this file.
1
23
#ifndef _SEFRAMEWORK_PIPELINE_DEBLENDING_H
24
#define _SEFRAMEWORK_PIPELINE_DEBLENDING_H
25
26
#include "
SEFramework/Pipeline/PipelineStage.h
"
27
#include "
SEFramework/Source/SourceGroupInterface.h
"
28
#include "
SEFramework/Task/TaskProvider.h
"
29
30
namespace
SourceXtractor {
31
37
class
DeblendStep
{
38
public
:
39
41
virtual
~DeblendStep
() =
default
;
42
44
virtual
void
deblend
(
SourceGroupInterface
& group)
const
= 0;
45
47
virtual
std::set<PropertyId>
requiredProperties
()
const
{
return
{};}
48
};
49
56
class
Deblending
:
public
PipelineReceiver
<SourceGroupInterface>,
public
PipelineEmitter
<SourceGroupInterface> {
57
58
public
:
59
61
virtual
~Deblending
() =
default
;
62
64
explicit
Deblending
(
std::vector
<
std::shared_ptr<DeblendStep>
> deblend_steps);
65
67
void
receiveSource
(
std::unique_ptr<SourceGroupInterface>
group)
override
;
68
69
void
receiveProcessSignal
(
const
ProcessSourcesEvent
& event)
override
;
70
72
std::set<PropertyId>
requiredProperties
()
const
;
73
74
private
:
75
std::vector<std::shared_ptr<DeblendStep>
>
m_deblend_steps
;
76
};
/* End of Deblending class */
77
78
}
/* namespace SourceXtractor */
79
80
81
#endif
std::shared_ptr
SourceXtractor::Deblending::receiveSource
void receiveSource(std::unique_ptr< SourceGroupInterface > group) override
Handles a new SourceGroup, applies the DeblendSteps and then notifies the observers with the result...
Definition:
Deblending.cpp:31
SourceXtractor::Deblending
Performs a number of steps on a SourceGroup that can add or remove Sources for deblending the group...
Definition:
Deblending.h:56
SourceXtractor::Deblending::receiveProcessSignal
void receiveProcessSignal(const ProcessSourcesEvent &event) override
Definition:
Deblending.cpp:53
SourceXtractor::DeblendStep::deblend
virtual void deblend(SourceGroupInterface &group) const =0
Performs the DeblendStep on the SourceGroup.
SourceXtractor::ProcessSourcesEvent
Event received by SourceGrouping to request the processing of some of the Sources stored...
Definition:
PipelineStage.h:33
PipelineStage.h
SourceXtractor::Deblending::m_deblend_steps
std::vector< std::shared_ptr< DeblendStep > > m_deblend_steps
Definition:
Deblending.h:75
SourceXtractor::Deblending::requiredProperties
std::set< PropertyId > requiredProperties() const
Returns the set of required properties to compute the deblending.
Definition:
Deblending.cpp:44
SourceGroupInterface.h
SourceXtractor::PipelineReceiver
Definition:
PipelineStage.h:46
SourceXtractor::DeblendStep::requiredProperties
virtual std::set< PropertyId > requiredProperties() const
Returns properties used by the deblend step.
Definition:
Deblending.h:47
TaskProvider.h
SourceXtractor::DeblendStep
An action to be applied to a SourceGroup for deblending its sources.
Definition:
Deblending.h:37
SourceXtractor::Deblending::Deblending
Deblending(std::vector< std::shared_ptr< DeblendStep >> deblend_steps)
Constructor - takes a vector of DeblendStep to be applied, in order, to every SourceGroup.
Definition:
Deblending.cpp:27
SourceXtractor::SourceGroupInterface
Defines the interface used to group sources.
Definition:
SourceGroupInterface.h:37
std::set
STL class.
SourceXtractor::DeblendStep::~DeblendStep
virtual ~DeblendStep()=default
Destructor.
std::vector
STL class.
std::unique_ptr
STL class.
SourceXtractor::Deblending::~Deblending
virtual ~Deblending()=default
Destructor.
SourceXtractor::PipelineEmitter
Definition:
PipelineStage.h:68
Generated by
1.8.5