Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
mygsl::tabulated_function Class Reference

Tabulated function. More...

#include <bayeux/mygsl/tabulated_function.h>

Inheritance diagram for mygsl::tabulated_function:
mygsl::i_unary_function datatools::i_cloneable datatools::i_tree_dumpable

Public Types

typedef std::map< double, double > points_map_type
 
- Public Types inherited from mygsl::i_unary_function
enum  write_options_type {
  wo_none = 0, wo_data_index = 0x1, wo_skip_nan = 0x2, wo_skip_inf = 0x4,
  wo_skip_onzd = 0x8, wo_skip_odod = 0x10, wo_append = 0x20, wo_default = wo_none
}
 Options for writing sampled function in an ASCII stream. More...
 
- Public Types inherited from datatools::i_tree_dumpable
enum  ostream_type { OSTREAM_COUT = 1, OSTREAM_CERR = 2, OSTREAM_CLOG = 3 }
 Enumeration for standard output streams. More...
 

Public Member Functions

virtual bool has_explicit_domain_of_definition () const
 Check if the function has an explicit domain of definition (default: false) More...
 
virtual bool is_in_domain_of_definition (double x_) const
 Check if a value is in the domain of definition of the function (default: true) More...
 
 tabulated_function (const std::string &interp_name_="")
 Default constructor. More...
 
 tabulated_function (const tabulated_function &tab_func_)
 Copy constructor. More...
 
virtual ~tabulated_function ()
 Destructor. More...
 
tabulated_functionoperator= (const tabulated_function &tab_func_)
 Assignement. More...
 
bool is_verbose () const
 Check verbosity flag. More...
 
void set_verbose (bool v_=true)
 Set verbosity flag. More...
 
bool is_valid (double x_) const
 Check validity. More...
 
const std::string & interpolator_name () const
 Return the name of the interpolation algorithm (GSL) More...
 
const points_map_typepoints () const
 Return the collection of points. More...
 
bool export_to_vectors (std::vector< double > &keys_, std::vector< double > &values_) const
 Export to vectors of doubles. More...
 
void scale (double s_)
 Scale the function by a given factor. More...
 
size_t size () const
 Return the size of the collection of points. More...
 
bool is_table_locked () const
 Check the table lock flag. More...
 
void lock_table (const std::string &interp_name_="")
 Lock the table using a given interpolation algorithm (GSL) More...
 
void unlock_table ()
 Unlock the table. More...
 
void relock_table (const std::string &interp_name_="")
 Relock the table using a given interpolation algorithm (GSL) More...
 
void add_point (double x_, double y_, bool lock_after_=false)
 Add a point to the collection. More...
 
double x_min () const
 Return the minimum x value from the collection of points. More...
 
double x_max () const
 Return the maximum x value from the collection of points. More...
 
void load_from_file (const std::string &filename_, uint32_t options_=0)
 Load the collection of points from a file. More...
 
virtual void tabfunc_load (std::istream &in_, void *context_=0)
 Load from an input stream. More...
 
virtual void tabfunc_store (std::ostream &out_, void *context_=0) const
 Store to an output stream. More...
 
void print_points (std::ostream &out_, const std::string &header_comment_="", const std::string &footer_comment_="") const
 Print points. More...
 
virtual bool is_initialized () const
 Check initialization status. More...
 
virtual void initialize (const datatools::properties &config_, const unary_function_dict_type &functors_)
 Initialization from a container of parameters and a dictionary of functors. More...
 
void reset ()
 Reset the functor. More...
 
virtual void tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
 Smart printing. More...
 
- Public Member Functions inherited from mygsl::i_unary_function
 i_unary_function (double epsilon_=0.0)
 Constructor. More...
 
virtual ~i_unary_function ()
 Destructor. More...
 
virtual double eval (double x_) const
 The function evaluation method. More...
 
double evaluate (double x_) const
 The function evaluation method. More...
 
virtual double eval_no_check (double x_) const
 The function evaluation method with any value check. More...
 
virtual double get_non_zero_domain_min () const
 The minimum bound of the non-zero domain (default is minus infinity) More...
 
bool has_non_zero_domain_min () const
 Check the minimum bound of the non-zero domain. More...
 
virtual double get_non_zero_domain_max () const
 The maximum bound of the non-zero domain (default is plus infinity) More...
 
bool has_non_zero_domain_max () const
 Check the maximum bound of the non-zero domain. More...
 
bool is_in_non_zero_domain (double x_) const
 Check if a value is in the non-zero domain. More...
 
bool is_in_zero_domain (double x_) const
 Check if a value is in the zero domain. More...
 
bool has_zero_domain () const
 Check if the functor has an explicit zero domain. More...
 
double operator() (double x_) const
 Standard C++ functor interface. More...
 
void write_ascii (std::ostream &fout_, double min_, double max_, unsigned int nsamples_, int x_precision_=16, int fx_precision_=16, uint32_t options_=wo_default) const
 Write the (x,y=f(x)) value pairs in an ASCII stream : More...
 
void write_ascii_with_units (std::ostream &fout_, double min_, double max_, unsigned int nsamples_, double x_unit_, double fx_unit_, int x_precision_=16, int fx_precision_=16, uint32_t options_=wo_default) const
 Write the (x,y=f(x)) value pairs in an ASCII stream : More...
 
void write_ascii_file (const std::string &filename_, double min_, double max_, unsigned int nsamples_, int x_precision_=16, int fx_precision_=16, uint32_t options_=wo_default) const
 Write the (x,y=f(x)) value pairs in an ASCII file (typical Gnuplot input) : More...
 
void write_ascii_file_with_units (const std::string &filename_, double min_, double max_, unsigned int nsamples_, const std::string &x_unit_label_, const std::string &fx_unit_label_, int x_precision_=16, int fx_precision_=16, uint32_t options_=wo_default) const
 Write the (x,y=f(x)) value pairs in an ASCII file (typical Gnuplot input) : More...
 
void set_epsilon (double)
 Set the precision. More...
 
double get_epsilon () const
 Return the precision. More...
 
void initialize_simple ()
 Simple initialization. More...
 
void initialize_standalone (const datatools::properties &config_)
 Initialization from a container of parameters. More...
 
- Public Member Functions inherited from datatools::i_tree_dumpable
 i_tree_dumpable ()
 Constructor. More...
 
virtual ~i_tree_dumpable ()
 Destructor. More...
 
virtual void print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const
 Main new interface method for printing. More...
 
void print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const
 Printing with jsonized options. More...
 
void print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const
 Printing with jsonized options. More...
 
void tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const
 
void tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const
 
void smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const
 
- Public Member Functions inherited from datatools::i_cloneable
virtual i_cloneableclone (void) const =0
 
virtual ~i_cloneable ()
 
template<class CandidateType >
bool is_cloneable (const CandidateType &candidate_)
 

Static Public Member Functions

static const std::string & linear_interp_name ()
 
static const std::string & polynomial_interp_name ()
 
static const std::string & cspline_interp_name ()
 
static const std::string & cspline_periodic_interp_name ()
 
static const std::string & akima_interp_name ()
 
static const std::string & akima_periodic_interp_name ()
 
static const std::string & steffen_interp_name ()
 
static const std::string & default_interp_name ()
 
static const std::string & default_interpolator_name ()
 Return the name of the default interpolation algorithm (GSL) More...
 
static bool interpolator_name_is_valid (const std::string &name_)
 Check the validity of the name of the interpolation algorithm (GSL) More...
 
- Static Public Member Functions inherited from mygsl::i_unary_function
static double g_function (double x_, void *functor_)
 A generic static function to feed the GSL gsl_function interface: More...
 
- Static Public Member Functions inherited from datatools::i_tree_dumpable
static const boost::property_tree::ptree & empty_options ()
 
static boost::property_tree::ptree make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false)
 
static std::ostream & last_skip_tag (std::ostream &out_)
 
static std::ostream & skip_tag (std::ostream &out_)
 
static std::ostream & last_tag (std::ostream &out_)
 
static std::ostream & tag (std::ostream &out_)
 
- Static Public Member Functions inherited from datatools::i_cloneable
template<class Copyable >
static Copyable * clone_it (const Copyable &a_copyable)
 

Protected Member Functions

virtual double _eval (double x_) const
 Evaluation. More...
 
- Protected Member Functions inherited from mygsl::i_unary_function
void _base_initialize (const datatools::properties &config_, const unary_function_dict_type &functors_)
 
void _base_reset ()
 
void _compute_auto_epsilon ()
 
void _set_defaults ()
 Set defaults attributes. More...
 

Additional Inherited Members

- Static Public Attributes inherited from mygsl::i_unary_function
static const double DEFAULT_EPSILON
 Default error. More...
 
static const double AUTO_EPSILON
 Value for automatic computation of the error. More...
 

Detailed Description

Tabulated function.

Member Typedef Documentation

◆ points_map_type

typedef std::map<double,double> mygsl::tabulated_function::points_map_type

Constructor & Destructor Documentation

◆ tabulated_function() [1/2]

mygsl::tabulated_function::tabulated_function ( const std::string &  interp_name_ = "")

Default constructor.

◆ tabulated_function() [2/2]

mygsl::tabulated_function::tabulated_function ( const tabulated_function tab_func_)

Copy constructor.

◆ ~tabulated_function()

virtual mygsl::tabulated_function::~tabulated_function ( )
virtual

Destructor.

Member Function Documentation

◆ _eval()

virtual double mygsl::tabulated_function::_eval ( double  x_) const
protectedvirtual

Evaluation.

Implements mygsl::i_unary_function.

◆ add_point()

void mygsl::tabulated_function::add_point ( double  x_,
double  y_,
bool  lock_after_ = false 
)

Add a point to the collection.

◆ akima_interp_name()

static const std::string& mygsl::tabulated_function::akima_interp_name ( )
static

◆ akima_periodic_interp_name()

static const std::string& mygsl::tabulated_function::akima_periodic_interp_name ( )
static

◆ cspline_interp_name()

static const std::string& mygsl::tabulated_function::cspline_interp_name ( )
static

◆ cspline_periodic_interp_name()

static const std::string& mygsl::tabulated_function::cspline_periodic_interp_name ( )
static

◆ default_interp_name()

static const std::string& mygsl::tabulated_function::default_interp_name ( )
static

◆ default_interpolator_name()

static const std::string& mygsl::tabulated_function::default_interpolator_name ( )
static

Return the name of the default interpolation algorithm (GSL)

◆ export_to_vectors()

bool mygsl::tabulated_function::export_to_vectors ( std::vector< double > &  keys_,
std::vector< double > &  values_ 
) const

Export to vectors of doubles.

◆ has_explicit_domain_of_definition()

virtual bool mygsl::tabulated_function::has_explicit_domain_of_definition ( ) const
virtual

Check if the function has an explicit domain of definition (default: false)

Reimplemented from mygsl::i_unary_function.

◆ initialize()

virtual void mygsl::tabulated_function::initialize ( const datatools::properties config_,
const unary_function_dict_type functors_ 
)
virtual

Initialization from a container of parameters and a dictionary of functors.

Reimplemented from mygsl::i_unary_function.

◆ interpolator_name()

const std::string& mygsl::tabulated_function::interpolator_name ( ) const

Return the name of the interpolation algorithm (GSL)

◆ interpolator_name_is_valid()

static bool mygsl::tabulated_function::interpolator_name_is_valid ( const std::string &  name_)
static

Check the validity of the name of the interpolation algorithm (GSL)

◆ is_in_domain_of_definition()

virtual bool mygsl::tabulated_function::is_in_domain_of_definition ( double  x_) const
virtual

Check if a value is in the domain of definition of the function (default: true)

Reimplemented from mygsl::i_unary_function.

◆ is_initialized()

virtual bool mygsl::tabulated_function::is_initialized ( ) const
virtual

Check initialization status.

Reimplemented from mygsl::i_unary_function.

◆ is_table_locked()

bool mygsl::tabulated_function::is_table_locked ( ) const

Check the table lock flag.

◆ is_valid()

bool mygsl::tabulated_function::is_valid ( double  x_) const

Check validity.

◆ is_verbose()

bool mygsl::tabulated_function::is_verbose ( ) const

Check verbosity flag.

◆ linear_interp_name()

static const std::string& mygsl::tabulated_function::linear_interp_name ( )
static

◆ load_from_file()

void mygsl::tabulated_function::load_from_file ( const std::string &  filename_,
uint32_t  options_ = 0 
)

Load the collection of points from a file.

◆ lock_table()

void mygsl::tabulated_function::lock_table ( const std::string &  interp_name_ = "")

Lock the table using a given interpolation algorithm (GSL)

◆ operator=()

tabulated_function& mygsl::tabulated_function::operator= ( const tabulated_function tab_func_)

Assignement.

◆ points()

const points_map_type& mygsl::tabulated_function::points ( ) const

Return the collection of points.

◆ polynomial_interp_name()

static const std::string& mygsl::tabulated_function::polynomial_interp_name ( )
static

◆ print_points()

void mygsl::tabulated_function::print_points ( std::ostream &  out_,
const std::string &  header_comment_ = "",
const std::string &  footer_comment_ = "" 
) const

Print points.

◆ relock_table()

void mygsl::tabulated_function::relock_table ( const std::string &  interp_name_ = "")

Relock the table using a given interpolation algorithm (GSL)

◆ reset()

void mygsl::tabulated_function::reset ( )
virtual

Reset the functor.

Reimplemented from mygsl::i_unary_function.

◆ scale()

void mygsl::tabulated_function::scale ( double  s_)

Scale the function by a given factor.

◆ set_verbose()

void mygsl::tabulated_function::set_verbose ( bool  v_ = true)

Set verbosity flag.

◆ size()

size_t mygsl::tabulated_function::size ( ) const

Return the size of the collection of points.

◆ steffen_interp_name()

static const std::string& mygsl::tabulated_function::steffen_interp_name ( )
static

◆ tabfunc_load()

virtual void mygsl::tabulated_function::tabfunc_load ( std::istream &  in_,
void *  context_ = 0 
)
virtual

Load from an input stream.

◆ tabfunc_store()

virtual void mygsl::tabulated_function::tabfunc_store ( std::ostream &  out_,
void *  context_ = 0 
) const
virtual

Store to an output stream.

◆ tree_dump()

virtual void mygsl::tabulated_function::tree_dump ( std::ostream &  out_ = std::clog,
const std::string &  title_ = "",
const std::string &  indent_ = "",
bool  inherit_ = false 
) const
virtual

Smart printing.

Reimplemented from mygsl::i_unary_function.

◆ unlock_table()

void mygsl::tabulated_function::unlock_table ( )

Unlock the table.

◆ x_max()

double mygsl::tabulated_function::x_max ( ) const

Return the maximum x value from the collection of points.

◆ x_min()

double mygsl::tabulated_function::x_min ( ) const

Return the minimum x value from the collection of points.


The documentation for this class was generated from the following file: