27 #ifndef GINTEGRALS_HPP
28 #define GINTEGRALS_HPP
68 void eps(
const double&
eps);
69 const double&
eps(
void)
const;
71 const bool&
silent(
void)
const;
72 const int&
iter(
void)
const;
73 const int&
calls(
void)
const;
75 const std::string&
message(
void)
const;
79 const int& order = 5);
82 const int& order = 5);
86 const GVector& previous_result);
127 return (
"GIntegrals");
const bool & silent(void) const
Get silence flag.
GIntegrals(void)
Void constructor.
virtual ~GIntegrals(void)
Destructor.
void init_members(void)
Initialise class members.
int m_iter
Number of iterations used.
int m_fix_iter
Fixed number of iterations.
void copy_members(const GIntegrals &integral)
Copy class members.
Definition of interface for all GammaLib classes.
GIntegrals & operator=(const GIntegrals &integral)
Assignment operator.
const GFunctions * kernels(void) const
Get function kernels.
bool m_isvalid
Integration result valid (true=yes)
void clear(void)
Clear integral.
int m_max_iter
Maximum number of iterations.
double m_eps
Requested relative integration precision.
bool m_has_relerr
Has relative integration errors.
bool m_silent
Suppress integration warnings in console.
std::string print(const GChatter &chatter=NORMAL) const
Print integral information.
Interface class for all GammaLib classes.
const int & calls(void) const
Get number of function calls.
GFunctions * m_kernels
Pointer to function kernels.
const bool & is_valid(void) const
Signal if integration result is valid.
GIntegrals * clone(void) const
Clone integral.
int m_calls
Number of function calls used.
void free_members(void)
Delete class members.
GVector m_relerr
Absolute integration errors.
std::string m_message
Status message (if result is invalid)
Vector class interface definition.
const int & fixed_iter(void) const
Return fixed number of iterations.
const int & iter(void) const
Return number of iterations.
bool m_has_abserr
Has absolute integration errors.
const int & max_iter(void) const
Return maximum number of iterations.
GVector romberg(std::vector< double > bounds, const int &order=5)
Perform Romberg integration.
GVector trapzd(const double &a, const double &b, const int &n, const GVector &previous_result)
Perform Trapezoidal integration for a set of functions.
GVector polint(const double *xa, const GVector *ya, const int &order, const double &x, GVector *dy)
Perform Polynomial interpolation.
Integration class for set of functions.
GVector m_abserr
Absolute integration errors.
std::string classname(void) const
Return class name.
const double & eps(void) const
Get relative precision.
const std::string & message(void) const
Return integration status message.
Single parameter functions abstract base class.