SourceXtractorPlusPlus
0.11
Please provide a description of the project.
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 "
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::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.5