SourceXtractorPlusPlus
0.11
Please provide a description of the project.
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 "
SEUtils/Observable.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
43
// Performs the DeblendStep on the SourceGroup
44
virtual
void
deblend
(
SourceGroupInterface
& group)
const
= 0;
45
};
46
53
class
Deblending
:
public
Observer
<std::shared_ptr<SourceGroupInterface>>,
54
public
Observable
<std::shared_ptr<SourceGroupInterface>> {
55
56
public
:
57
59
virtual
~Deblending
() =
default
;
60
62
Deblending
(
std::vector
<
std::shared_ptr<DeblendStep>
> deblend_steps);
63
65
virtual
void
handleMessage
(
const
std::shared_ptr<SourceGroupInterface>
& group)
override
;
66
67
private
:
68
std::vector<std::shared_ptr<DeblendStep>
>
m_deblend_steps
;
69
};
/* End of Deblending class */
70
71
}
/* namespace SourceXtractor */
72
73
74
#endif
std::shared_ptr
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::DeblendStep::deblend
virtual void deblend(SourceGroupInterface &group) const =0
SourceXtractor::Deblending::handleMessage
virtual void handleMessage(const std::shared_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::m_deblend_steps
std::vector< std::shared_ptr< DeblendStep > > m_deblend_steps
Definition:
Deblending.h:68
Observable.h
SourceGroupInterface.h
SourceXtractor::Observable
Implements the Observer pattern. Notifications will be made using a message of type T...
Definition:
Observable.h:51
TaskProvider.h
SourceXtractor
Definition:
Aperture.h:30
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
SourceXtractor::DeblendStep::~DeblendStep
virtual ~DeblendStep()=default
Destructor.
std::vector
STL class.
SourceXtractor::Deblending::~Deblending
virtual ~Deblending()=default
Destructor.
SourceXtractor::Observer
Observer interface to be used with Observable to implement the Observer pattern.
Definition:
Observable.h:38
Generated by
1.8.14