SourceXtractorPlusPlus
0.12
Please provide a description of the project.
SEImplementation
src
lib
Plugin
FluxRadius
FluxRadiusConfig.cpp
Go to the documentation of this file.
1
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
std::vector::empty
T empty(T... args)
Euclid::Configuration
Euclid::Configuration::Configuration
SourceXtractor::FluxRadiusConfig::getProgramOptions
std::map< std::string, OptionDescriptionList > getProgramOptions() override
Definition:
FluxRadiusConfig.cpp:30
SourceXtractor::FluxRadiusConfig::initialize
void initialize(const UserValues &args) override
Definition:
FluxRadiusConfig.cpp:37
SourceXtractor::FluxRadiusConfig::getFluxFraction
const std::vector< SeFloat > & getFluxFraction() const
Definition:
FluxRadiusConfig.cpp:50
std::map
STL class.
FluxRadiusConfig.h
std::string
STL class.
std::map::at
T at(T... args)
SourceXtractor::FluxRadiusConfig::m_flux_fraction
std::vector< SeFloat > m_flux_fraction
Definition:
FluxRadiusConfig.h:39
SourceXtractor
Definition:
Aperture.h:30
SourceXtractor::FLUX_FRACTION
static const std::string FLUX_FRACTION
Definition:
FluxRadiusConfig.cpp:26
std::vector< SeFloat >
Elements::Exception
std::string::c_str
T c_str(T... args)
StringUtils.h
Generated by
1.8.14