SourceXtractorPlusPlus
1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEImplementation
src
lib
Plugin
FluxRadius
FluxRadiusConfig.cpp
Go to the documentation of this file.
1
17
18
#include "
SEImplementation/Plugin/FluxRadius/FluxRadiusConfig.h
"
19
#include <AlexandriaKernel/StringUtils.h>
20
21
using namespace
Euclid::Configuration
;
22
namespace
po
=
boost::program_options
;
23
24
namespace
SourceXtractor
{
25
26
static
const
std::string
FLUX_FRACTION
{
"flux-fraction"
};
27
28
FluxRadiusConfig::FluxRadiusConfig
(
long
managerId) :
Configuration
(managerId) {}
29
30
auto
FluxRadiusConfig::getProgramOptions
() ->
std::map<std::string, OptionDescriptionList>
{
31
return
{{
"Flux radius"
, {
32
{
FLUX_FRACTION
.c_str(), po::value<std::string>()->default_value(
"0.5"
),
33
"Fraction of flux defining each element of the flux_radius vector"
}
34
}}};
35
}
36
37
void
FluxRadiusConfig::initialize
(
const
Configuration::UserValues
& args) {
38
auto
flux_fraction_str = args.
at
(
FLUX_FRACTION
).as<
std::string
>();
39
m_flux_fraction
=
Euclid::stringToVector<SeFloat>
(flux_fraction_str);
40
if
(
m_flux_fraction
.empty()) {
41
throw
Elements::Exception
() <<
FLUX_FRACTION
<<
" must contain at least one element"
;
42
}
43
for
(
auto
frac :
m_flux_fraction
) {
44
if
(frac <= 0 || frac >= 1) {
45
throw
Elements::Exception
() <<
FLUX_FRACTION
<<
" only accepts values strictly between 0 and 1"
;
46
}
47
}
48
}
49
50
const
std::vector<SeFloat>
&
FluxRadiusConfig::getFluxFraction
()
const
{
51
return
m_flux_fraction
;
52
}
53
54
}
// end of namespace SourceXtractor
FluxRadiusConfig.h
std::map::at
T at(T... args)
std::string
Elements::Exception
Euclid::Configuration::Configuration::Configuration
Configuration(long manager_id)
Euclid::Configuration::Configuration::UserValues
std::map< std::string, boost::program_options::variable_value > UserValues
SourceXtractor::FluxRadiusConfig::getFluxFraction
const std::vector< SeFloat > & getFluxFraction() const
Definition
FluxRadiusConfig.cpp:50
SourceXtractor::FluxRadiusConfig::m_flux_fraction
std::vector< SeFloat > m_flux_fraction
Definition
FluxRadiusConfig.h:39
SourceXtractor::FluxRadiusConfig::initialize
void initialize(const UserValues &args) override
Definition
FluxRadiusConfig.cpp:37
SourceXtractor::FluxRadiusConfig::getProgramOptions
std::map< std::string, OptionDescriptionList > getProgramOptions() override
Definition
FluxRadiusConfig.cpp:30
SourceXtractor::FluxRadiusConfig::FluxRadiusConfig
FluxRadiusConfig(long managerId)
Definition
FluxRadiusConfig.cpp:28
std::map
Euclid::Configuration
Euclid::stringToVector
std::vector< T > stringToVector(std::string str, const std::string &separators=std::string(", "))
SourceXtractor
Definition
Aperture.h:30
SourceXtractor::FLUX_FRACTION
static const std::string FLUX_FRACTION
Definition
FluxRadiusConfig.cpp:26
boost::program_options
std::vector
Generated by
1.15.0