#include <BALL/MATHS/piecewiseFunction.h>
Public Member Functions | |
Constructors and Destructors | |
PiecewiseFunction () | |
PiecewiseFunction (const PiecewiseFunction &function) | |
PiecewiseFunction (const std::vector< Interval > &intervals, const std::vector< Coefficients > &coeffs) | |
virtual | ~PiecewiseFunction () |
Assignment | |
PiecewiseFunction & | operator= (const PiecewiseFunction &function) |
void | clear () |
Accessors | |
void | setIntervals (const std::vector< Interval > &intervals) |
const std::vector< Interval > & | getIntervals () const |
const Interval & | getInterval (double x) const throw (Exception::OutOfRange) |
const Interval & | getInterval (Position index) const throw (Exception::IndexOverflow) |
Position | getIntervalIndex (double x) const throw (Exception::OutOfRange) |
const Interval & | getRange () const |
void | setCoefficients (const vector< Coefficients > &coefficients) |
const std::vector< Coefficients > & | getCoefficients () const |
const Coefficients & | getCoefficients (double x) const throw (Exception::OutOfRange) |
const Coefficients & | getCoefficients (Position index) const throw (Exception::IndexOverflow) |
virtual double | operator() (double x) const |
void | set (const std::vector< Interval > &intervals, const std::vector< Coefficients > &coeffs) |
Predicates | |
bool | isInRange (double x) const |
virtual bool | isValid () const |
bool | operator== (const PiecewiseFunction &function) const |
Debugging and Diagnostics | |
virtual void | dump (std::ostream &s=std::cout, Size depth=0) const |
Protected Attributes | |
std::vector< Interval > | intervals_ |
std::vector< Coefficients > | coefficients_ |
bool | valid_ |
Private Member Functions | |
void | calculateRange () |
Private Attributes | |
Interval | range_ |
Piecewise function object. This class provides the interface for piecewise functions needed as representation of radial distribution functions (
Function
interface. BALL::PiecewiseFunction::PiecewiseFunction | ( | ) |
Default constructor
BALL::PiecewiseFunction::PiecewiseFunction | ( | const PiecewiseFunction & | function | ) |
Copy constructor
BALL::PiecewiseFunction::PiecewiseFunction | ( | const std::vector< Interval > & | intervals, | |
const std::vector< Coefficients > & | coeffs | |||
) |
Detailed constructor
virtual BALL::PiecewiseFunction::~PiecewiseFunction | ( | ) | [virtual] |
Destructor
void BALL::PiecewiseFunction::calculateRange | ( | ) | [private] |
void BALL::PiecewiseFunction::clear | ( | ) |
Clear function
Reimplemented in BALL::PiecewisePolynomial.
virtual void BALL::PiecewiseFunction::dump | ( | std::ostream & | s = std::cout , |
|
Size | depth = 0 | |||
) | const [virtual] |
Dumps the whole content of the object
Reimplemented in BALL::PiecewisePolynomial.
const Coefficients& BALL::PiecewiseFunction::getCoefficients | ( | Position | index | ) | const throw (Exception::IndexOverflow) |
get coefficients from index
const Coefficients& BALL::PiecewiseFunction::getCoefficients | ( | double | x | ) | const throw (Exception::OutOfRange) |
Get the coefficients for a given x
const std::vector<Coefficients>& BALL::PiecewiseFunction::getCoefficients | ( | ) | const |
const Interval& BALL::PiecewiseFunction::getInterval | ( | Position | index | ) | const throw (Exception::IndexOverflow) |
Get interval limits by index
const Interval& BALL::PiecewiseFunction::getInterval | ( | double | x | ) | const throw (Exception::OutOfRange) |
Get the interval a given x belongs to
Position BALL::PiecewiseFunction::getIntervalIndex | ( | double | x | ) | const throw (Exception::OutOfRange) |
Get the interval index for a given x
const std::vector<Interval>& BALL::PiecewiseFunction::getIntervals | ( | ) | const |
Get all the intervals
const Interval& BALL::PiecewiseFunction::getRange | ( | ) | const |
Return the range of the definition
Check whether a given x is in the range of definition
virtual bool BALL::PiecewiseFunction::isValid | ( | ) | const [virtual] |
check validity of the definition
compute the value of the piecewise function data for a given x
Reimplemented in BALL::PiecewisePolynomial.
PiecewiseFunction& BALL::PiecewiseFunction::operator= | ( | const PiecewiseFunction & | function | ) |
Assignemnt operator
bool BALL::PiecewiseFunction::operator== | ( | const PiecewiseFunction & | function | ) | const |
Equality operator
void BALL::PiecewiseFunction::set | ( | const std::vector< Interval > & | intervals, | |
const std::vector< Coefficients > & | coeffs | |||
) |
void BALL::PiecewiseFunction::setCoefficients | ( | const vector< Coefficients > & | coefficients | ) |
Set the coefficients. Note that this method does not check the vector of coefficients for sanity.
void BALL::PiecewiseFunction::setIntervals | ( | const std::vector< Interval > & | intervals | ) |
Set the intervals for the piecewise definition. Note that this method does not check the definition of the intervals for sanity.
std::vector<Coefficients> BALL::PiecewiseFunction::coefficients_ [protected] |
std::vector<Interval> BALL::PiecewiseFunction::intervals_ [protected] |
Interval BALL::PiecewiseFunction::range_ [private] |
bool BALL::PiecewiseFunction::valid_ [protected] |