SourceXtractorPlusPlus
0.15
Please provide a description of the project.
ModelFitting
src
lib
Parameters
ExpSigmoidConverter.cpp
Go to the documentation of this file.
1
23
#include <cmath>
24
#include <iostream>
25
26
#include "
ModelFitting/Parameters/ExpSigmoidConverter.h
"
27
28
namespace
ModelFitting
{
29
30
using namespace
std
;
31
32
ExpSigmoidConverter::~ExpSigmoidConverter
() =
default
;
33
34
double
ExpSigmoidConverter::worldToEngine
(
const
double
world_value)
const
{
35
if
(world_value < m_min_value || world_value > m_max_value) {
36
throw
Elements::Exception
()
37
<<
"WorldToEngine ExpSigmoidConverter: world values outside of possible range"
;
38
}
39
return
log
(
log
(world_value / m_min_value) /
log
(m_max_value / world_value));
40
}
41
42
43
double
ExpSigmoidConverter::engineToWorld
(
const
double
engine_value)
const
{
44
return
m_min_value *
exp
(
log
(m_max_value / m_min_value) / (1 +
exp
(-engine_value)) );
45
}
46
47
double
ExpSigmoidConverter::getEngineToWorldDerivative
(
const
double
value)
const
{
48
return
value *
log
(value / m_min_value) *
log
(m_max_value / value) /
log
(m_max_value / m_min_value);
49
}
50
51
52
}
// namespace ModelFitting
ModelFitting::ExpSigmoidConverter::getEngineToWorldDerivative
double getEngineToWorldDerivative(const double value) const override
Definition:
ExpSigmoidConverter.cpp:47
ModelFitting::ExpSigmoidConverter::engineToWorld
double engineToWorld(const double engine_value) const override
Engine to world coordinate converter.
Definition:
ExpSigmoidConverter.cpp:43
std::log
T log(T... args)
Elements::Exception
ModelFitting::ExpSigmoidConverter::~ExpSigmoidConverter
virtual ~ExpSigmoidConverter()
Destructor.
ExpSigmoidConverter.h
std::exp
T exp(T... args)
std
STL namespace.
ModelFitting
Definition:
AsinhChiSquareComparator.h:30
ModelFitting::ExpSigmoidConverter::worldToEngine
double worldToEngine(const double world_value) const override
World to engine coordinate converter.
Definition:
ExpSigmoidConverter.cpp:34
Generated by
1.8.20