LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
|
Abstract base class for function objects. A default implementation of the inverse(...) member function is provided that computes the inverse of the function using the Newton-Raphson method. Concrete subclasses must therefore implement a derivative(...) member function. In cases where the function is analytically invertible, the inverse(...) function should be re-implemented in the subclass using the analytic expression. More...
#include <Functor.h>
Public Member Functions | |
Functor (std::string const &name) | |
virtual | ~Functor () |
virtual boost::shared_ptr < Functor > | clone () const =0 |
virtual double | operator() (double x) const =0 |
virtual double | inverse (double y, double tol=1e-10, unsigned int maxiter=1000) const |
virtual double | derivative (double x) const =0 |
Public Member Functions inherited from lsst::daf::base::Citizen | |
Citizen (const std::type_info &) | |
Citizen (Citizen const &) | |
~Citizen () | |
Citizen & | operator= (Citizen const &) |
std::string | repr () const |
Return a string representation of a Citizen. More... | |
void | markPersistent (void) |
Mark a Citizen as persistent and not destroyed until process end. More... | |
memId | getId () const |
Return the Citizen's ID. More... | |
Private Attributes | |
std::string | _name |
Additional Inherited Members | |
Public Types inherited from lsst::daf::base::Citizen | |
enum | { magicSentinel = 0xdeadbeef } |
typedef unsigned long | memId |
Type of the block's ID. More... | |
typedef memId(* | memNewCallback )(const memId cid) |
A function used to register a callback. More... | |
typedef memId(* | memCallback )(const Citizen *ptr) |
Static Public Member Functions inherited from lsst::daf::base::Citizen | |
static bool | hasBeenCorrupted () |
Check all allocated blocks for corruption. More... | |
static memId | getNextMemId () |
Return the memId of the next object to be allocated. More... | |
static int | init () |
Called once when the memory system is being initialised. More... | |
static int | census (int, memId startingMemId=0) |
How many active Citizens are there? More... | |
static void | census (std::ostream &stream, memId startingMemId=0) |
Print a list of all active Citizens to stream, sorted by ID. More... | |
static const std::vector < const Citizen * > * | census () |
Return a (newly allocated) std::vector of active Citizens sorted by ID. More... | |
static memId | setNewCallbackId (memId id) |
Call the NewCallback when block is allocated. More... | |
static memId | setDeleteCallbackId (memId id) |
Call the current DeleteCallback when block is deleted. More... | |
static memNewCallback | setNewCallback (memNewCallback func) |
Set the NewCallback function. More... | |
static memCallback | setDeleteCallback (memCallback func) |
Set the DeleteCallback function. More... | |
static memCallback | setCorruptionCallback (memCallback func) |
Set the CorruptionCallback function. More... | |
Abstract base class for function objects. A default implementation of the inverse(...) member function is provided that computes the inverse of the function using the Newton-Raphson method. Concrete subclasses must therefore implement a derivative(...) member function. In cases where the function is analytically invertible, the inverse(...) function should be re-implemented in the subclass using the analytic expression.
|
explicit |
name | The name of the concrete subclass of this class. Used in the exception message from the inverse(...) member function. |
|
inlinevirtual |
|
pure virtual |
Implemented in lsst.afw.geom::LinearFunctor.
|
pure virtual |
Implemented in lsst.afw.geom::LinearFunctor.
|
virtual |
tol | Convergence tolerance for the Newton-Raphson search such that abs(x_{iter} - x_{iter-1}) < tol. |
maxiter | Maximum number of iterations in the N-R search. |
lsst::pex::exceptions::OutOfRangeError | if (tol <= 0) or (tol > 1) or (maxiter < 1). |
lsst::pex::exceptions::RuntimeError | if the number of N-R iterations > maxiter. |
|
pure virtual |
Implemented in lsst.afw.geom::LinearFunctor.