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
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
lsst.afw.math::Chebyshev1Function2< ReturnT > Class Template Reference

2-dimensional weighted sum of Chebyshev polynomials of the first kind. More...

#include <FunctionLibrary.h>

Inheritance diagram for lsst.afw.math::Chebyshev1Function2< ReturnT >:
lsst.afw.math::BasePolynomialFunction2< ReturnT > lsst.afw.math::Function2< ReturnT > lsst.afw.table.io::PersistableFacade< Function2< ReturnT > > lsst.afw.math::Function< ReturnT > lsst::daf::base::Citizen lsst.afw.table.io::PersistableFacade< Function< ReturnT > > lsst.afw.table.io::Persistable

Public Types

typedef Function2< ReturnT >::Ptr Function2Ptr
 
- Public Types inherited from lsst.afw.math::BasePolynomialFunction2< ReturnT >
typedef Function2< ReturnT >::Ptr Function2Ptr
 
- Public Types inherited from lsst.afw.math::Function2< ReturnT >
typedef boost::shared_ptr
< Function2< ReturnT > > 
Ptr
 
- 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)
 

Public Member Functions

 Chebyshev1Function2 (unsigned int order, lsst::afw::geom::Box2D const &xyRange=lsst::afw::geom::Box2D(lsst::afw::geom::Point2D(-1.0,-1.0), lsst::afw::geom::Point2D(1.0, 1.0)))
 Construct a Chebyshev polynomial of specified order and range. More...
 
 Chebyshev1Function2 (std::vector< double > params, lsst::afw::geom::Box2D const &xyRange=lsst::afw::geom::Box2D(lsst::afw::geom::Point2D(-1.0,-1.0), lsst::afw::geom::Point2D(1.0, 1.0)))
 Construct a Chebyshev polynomial with specified parameters and range. More...
 
virtual ~Chebyshev1Function2 ()
 
virtual Function2Ptr clone () const
 Return a pointer to a deep copy of this function. More...
 
lsst::afw::geom::Box2D getXYRange () const
 Get x,y range. More...
 
virtual Chebyshev1Function2 truncate (int truncOrder) const
 Return a truncated copy of lower (or equal) order. More...
 
virtual ReturnT operator() (double x, double y) const
 
virtual std::string toString (std::string const &prefix) const
 Return a string representation of the function. More...
 
virtual bool isPersistable () const
 Return true if this particular object can be persisted using afw::table::io. More...
 
- Public Member Functions inherited from lsst.afw.math::BasePolynomialFunction2< ReturnT >
 BasePolynomialFunction2 (unsigned int order)
 Construct a polynomial function of specified order. More...
 
 BasePolynomialFunction2 (std::vector< double > params)
 Construct a polynomial function with specified parameters. More...
 
virtual ~BasePolynomialFunction2 ()
 
int getOrder () const
 Get the polynomial order. More...
 
virtual bool isLinearCombination () const
 Is the function a linear combination of its parameters? More...
 
virtual std::vector< double > getDFuncDParameters (double x, double y) const
 
- Public Member Functions inherited from lsst.afw.math::Function2< ReturnT >
 Function2 (unsigned int nParams)
 Construct a Function2 given the number of function parameters. More...
 
 Function2 (std::vector< double > const &params)
 Construct a Function2 given the function parameters. More...
 
virtual ~Function2 ()
 
- Public Member Functions inherited from lsst.afw.math::Function< ReturnT >
 Function (unsigned int nParams)
 Construct a Function given the number of function parameters. More...
 
 Function (std::vector< double > const &params)
 Construct a Function given the function parameters. More...
 
virtual ~Function ()
 
unsigned int getNParameters () const
 Return the number of function parameters. More...
 
virtual double getParameter (unsigned int ind) const
 Get one function parameter without range checking. More...
 
std::vector< double > const & getParameters () const
 Return all function parameters. More...
 
void setParameter (unsigned int ind, double newValue)
 Set one function parameter without range checking. More...
 
void setParameters (std::vector< double > const &params)
 Set all function parameters. More...
 
- Public Member Functions inherited from lsst::daf::base::Citizen
 Citizen (const std::type_info &)
 
 Citizen (Citizen const &)
 
 ~Citizen ()
 
Citizenoperator= (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...
 
- Public Member Functions inherited from lsst.afw.table.io::Persistable
void writeFits (std::string const &fileName, std::string const &mode="w") const
 Write the object to a regular FITS file. More...
 
void writeFits (fits::MemFileManager &manager, std::string const &mode="w") const
 Write the object to a FITS image in memory. More...
 
void writeFits (fits::Fits &fitsfile) const
 Write the object to an already-open FITS object. More...
 
virtual ~Persistable ()
 

Protected Member Functions

virtual std::string getPersistenceName () const
 Return the unique name used to persist this object and look up its factory. More...
 
virtual void write (afw::table::io::OutputArchiveHandle &handle) const
 Write the object to one or more catalogs. More...
 
 Chebyshev1Function2 ()
 
- Protected Member Functions inherited from lsst.afw.math::BasePolynomialFunction2< ReturnT >
 BasePolynomialFunction2 ()
 
- Protected Member Functions inherited from lsst.afw.math::Function2< ReturnT >
 Function2 ()
 
- Protected Member Functions inherited from lsst.afw.math::Function< ReturnT >
virtual std::string getPythonModule () const
 Return the fully-qualified Python module that should be imported to guarantee that its factory is registered. More...
 
 Function ()
 
- Protected Member Functions inherited from lsst.afw.table.io::Persistable
 Persistable ()
 
 Persistable (Persistable const &other)
 
void operator= (Persistable const &other)
 

Private Member Functions

void _initialize (lsst::afw::geom::Box2D const &xyRange)
 initialize private constants More...
 
template<class Archive >
void serialize (Archive &ar, unsigned int const version)
 

Private Attributes

double _oldYPrime
 
std::vector< double > _yCheby
 working vector: value of Tn(y') More...
 
std::vector< double > _xCoeffs
 working vector: transformed coeffs of x polynomial More...
 
double _minX
 minimum allowed x More...
 
double _minY
 minimum allowed y More...
 
double _maxX
 maximum allowed x More...
 
double _maxY
 maximum allowed y More...
 
double _scaleX
 x' = (x + _offsetX) * _scaleX More...
 
double _scaleY
 y' = (y + _offsetY) * _scaleY More...
 
double _offsetX
 x' = (x + _offsetX) * _scaleX More...
 
double _offsetY
 y' = (y + _offsetY) * _scaleY More...
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Static Public Member Functions inherited from lsst.afw.math::BasePolynomialFunction2< ReturnT >
static int nParametersFromOrder (int order)
 Compute number of parameters from polynomial order. More...
 
static int orderFromNParameters (int nParameters)
 Compute polynomial order from the number of parameters. More...
 
- Static Public Member Functions inherited from lsst.afw.table.io::PersistableFacade< Function2< ReturnT > >
static boost::shared_ptr
< Function2< ReturnT > > 
readFits (fits::Fits &fitsfile)
 Read an object from an already open FITS object. More...
 
static boost::shared_ptr
< Function2< ReturnT > > 
readFits (std::string const &fileName, int hdu=0)
 Read an object from a regular FITS file. More...
 
static boost::shared_ptr
< Function2< ReturnT > > 
readFits (fits::MemFileManager &manager, int hdu=0)
 Read an object from a FITS file in memory. More...
 
- 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...
 
- Static Public Member Functions inherited from lsst.afw.table.io::PersistableFacade< Function< ReturnT > >
static boost::shared_ptr
< Function< ReturnT > > 
readFits (fits::Fits &fitsfile)
 Read an object from an already open FITS object. More...
 
static boost::shared_ptr
< Function< ReturnT > > 
readFits (std::string const &fileName, int hdu=0)
 Read an object from a regular FITS file. More...
 
static boost::shared_ptr
< Function< ReturnT > > 
readFits (fits::MemFileManager &manager, int hdu=0)
 Read an object from a FITS file in memory. More...
 
- Protected Types inherited from lsst.afw.table.io::Persistable
typedef io::OutputArchiveHandle OutputArchiveHandle
 
- Protected Attributes inherited from lsst.afw.math::BasePolynomialFunction2< ReturnT >
int _order
 order of polynomial More...
 
- Protected Attributes inherited from lsst.afw.math::Function< ReturnT >
std::vector< double > _params
 
bool _isCacheValid
 

Detailed Description

template<typename ReturnT>
class lsst.afw.math::Chebyshev1Function2< ReturnT >

2-dimensional weighted sum of Chebyshev polynomials of the first kind.

f(x,y) = c0 T0(x') T0(y') # order 0

= c0 # order 0

where:

Return value is incorrect if function arguments are not in the range [minX, maxX], [minY, maxY].

Definition at line 823 of file FunctionLibrary.h.

Member Typedef Documentation

template<typename ReturnT>
typedef Function2<ReturnT>::Ptr lsst.afw.math::Chebyshev1Function2< ReturnT >::Function2Ptr

Definition at line 825 of file FunctionLibrary.h.

Constructor & Destructor Documentation

template<typename ReturnT>
lsst.afw.math::Chebyshev1Function2< ReturnT >::Chebyshev1Function2 ( unsigned int  order,
lsst::afw::geom::Box2D const &  xyRange = lsst::afw::geom::Box2D(lsst::afw::geom::Point2D(-1.0, -1.0),                                       lsst::afw::geom::Point2D( 1.0,  1.0)) 
)
inlineexplicit

Construct a Chebyshev polynomial of specified order and range.

The parameters are initialized to zero.

Parameters
orderorder of polynomial (0 for constant)
xyRangeallowed x,y range

Definition at line 832 of file FunctionLibrary.h.

837  :
838  BasePolynomialFunction2<ReturnT>(order),
839  _oldYPrime(0),
840  _yCheby(this->_order + 1),
841  _xCoeffs(this->_order + 1)
842  {
843  _initialize(xyRange);
844  }
int _order
order of polynomial
Definition: Function.h:492
std::vector< double > _xCoeffs
working vector: transformed coeffs of x polynomial
std::vector< double > _yCheby
working vector: value of Tn(y&#39;)
void _initialize(lsst::afw::geom::Box2D const &xyRange)
initialize private constants
template<typename ReturnT>
lsst.afw.math::Chebyshev1Function2< ReturnT >::Chebyshev1Function2 ( std::vector< double >  params,
lsst::afw::geom::Box2D const &  xyRange = lsst::afw::geom::Box2D(lsst::afw::geom::Point2D(-1.0, -1.0),                                       lsst::afw::geom::Point2D( 1.0,  1.0)) 
)
inlineexplicit

Construct a Chebyshev polynomial with specified parameters and range.

The order of the polynomial is set to the length of the params vector.

Exceptions
lsst::pex::exceptions::InvalidParameterErrorif params is empty
Parameters
paramspolynomial coefficients length must be one of 1, 3, 6, 10, 15...
xyRangeallowed x,y range

Definition at line 853 of file FunctionLibrary.h.

859  :
860  BasePolynomialFunction2<ReturnT>(params),
861  _oldYPrime(0),
862  _yCheby(this->_order + 1),
863  _xCoeffs(this->_order + 1)
864  {
865  _initialize(xyRange);
866  }
int _order
order of polynomial
Definition: Function.h:492
std::vector< double > _xCoeffs
working vector: transformed coeffs of x polynomial
std::vector< double > _yCheby
working vector: value of Tn(y&#39;)
void _initialize(lsst::afw::geom::Box2D const &xyRange)
initialize private constants
template<typename ReturnT>
virtual lsst.afw.math::Chebyshev1Function2< ReturnT >::~Chebyshev1Function2 ( )
inlinevirtual

Definition at line 868 of file FunctionLibrary.h.

868 {}
template<typename ReturnT>
lsst.afw.math::Chebyshev1Function2< ReturnT >::Chebyshev1Function2 ( )
inlineexplicitprotected

Definition at line 1009 of file FunctionLibrary.h.

1009  : BasePolynomialFunction2<ReturnT>(),
1010  _oldYPrime(0),
1011  _yCheby(0),
1012  _xCoeffs(0),
1013  _minX(0.0), _minY(0.0),
1014  _maxX(0.0), _maxY(0.0),
1015  _scaleX(1.0), _scaleY(1.0),
1016  _offsetX(0.0), _offsetY(0.0) {}
double _offsetX
x&#39; = (x + _offsetX) * _scaleX
std::vector< double > _xCoeffs
working vector: transformed coeffs of x polynomial
double _scaleY
y&#39; = (y + _offsetY) * _scaleY
double _maxY
maximum allowed y
double _scaleX
x&#39; = (x + _offsetX) * _scaleX
double _offsetY
y&#39; = (y + _offsetY) * _scaleY
double _maxX
maximum allowed x
double _minY
minimum allowed y
std::vector< double > _yCheby
working vector: value of Tn(y&#39;)
double _minX
minimum allowed x

Member Function Documentation

template<typename ReturnT>
void lsst.afw.math::Chebyshev1Function2< ReturnT >::_initialize ( lsst::afw::geom::Box2D const &  xyRange)
inlineprivate

initialize private constants

Definition at line 996 of file FunctionLibrary.h.

996  {
997  _minX = xyRange.getMinX();
998  _minY = xyRange.getMinY();
999  _maxX = xyRange.getMaxX();
1000  _maxY = xyRange.getMaxY();
1001  _scaleX = 2.0 / (_maxX - _minX);
1002  _scaleY = 2.0 / (_maxY - _minY);
1003  _offsetX = -(_minX + _maxX) * 0.5;
1004  _offsetY = -(_minY + _maxY) * 0.5;
1005  }
double _offsetX
x&#39; = (x + _offsetX) * _scaleX
double _scaleY
y&#39; = (y + _offsetY) * _scaleY
double _maxY
maximum allowed y
double _scaleX
x&#39; = (x + _offsetX) * _scaleX
double _offsetY
y&#39; = (y + _offsetY) * _scaleY
double _maxX
maximum allowed x
double _minY
minimum allowed y
double _minX
minimum allowed x
template<typename ReturnT>
virtual Function2Ptr lsst.afw.math::Chebyshev1Function2< ReturnT >::clone ( ) const
inlinevirtual

Return a pointer to a deep copy of this function.

This function exists instead of a copy constructor so one can obtain a copy of an actual function instead of a useless copy of the base class.

Every non-virtual function must override this method.

Returns
a pointer to a deep copy of the function

Implements lsst.afw.math::Function2< ReturnT >.

Definition at line 870 of file FunctionLibrary.h.

870  {
871  return Function2Ptr(new Chebyshev1Function2(this->_params, this->getXYRange()));
872  }
lsst::afw::geom::Box2D getXYRange() const
Get x,y range.
Function2< ReturnT >::Ptr Function2Ptr
std::vector< double > _params
Definition: Function.h:204
template<typename ReturnT>
virtual std::string lsst.afw.math::Chebyshev1Function2< ReturnT >::getPersistenceName ( ) const
protectedvirtual

Return the unique name used to persist this object and look up its factory.

Must be less than ArchiveIndexSchema::MAX_NAME_LENGTH characters.

Reimplemented from lsst.afw.table.io::Persistable.

template<typename ReturnT>
lsst::afw::geom::Box2D lsst.afw.math::Chebyshev1Function2< ReturnT >::getXYRange ( ) const
inline

Get x,y range.

Definition at line 877 of file FunctionLibrary.h.

877  {
880  };
double _maxY
maximum allowed y
double _maxX
maximum allowed x
double _minY
minimum allowed y
double _minX
minimum allowed x
A floating-point coordinate rectangle geometry.
Definition: Box.h:271
template<typename ReturnT>
virtual bool lsst.afw.math::Chebyshev1Function2< ReturnT >::isPersistable ( ) const
inlinevirtual

Return true if this particular object can be persisted using afw::table::io.

Reimplemented from lsst.afw.table.io::Persistable.

Definition at line 972 of file FunctionLibrary.h.

972 { return true; }
template<typename ReturnT>
virtual ReturnT lsst.afw.math::Chebyshev1Function2< ReturnT >::operator() ( double  x,
double  y 
) const
inlinevirtual

Implements lsst.afw.math::Function2< ReturnT >.

Definition at line 900 of file FunctionLibrary.h.

900  {
901  /* Solve as follows:
902  - f(x,y) = Cy0 T0(y') + Cy1 T1(y') + Cy2 T2(y') + Cy3 T3(y') + ...
903  where:
904  Cy0 = P0 T0(x') + P1 T1(x') + P3 T2(x') + P6 T3(x') + ...
905  Cy1 = P2 T0(x') + P4 T1(x') + P7 T2(x') + ...
906  Cy2 = P5 T0(x') + P8 T1(x') + ...
907  Cy3 = P9 T0(x') + ...
908  ...
909 
910  First compute Tn(x') for each n
911  Then use that to compute Cy0, Cy1, ...Cyn
912  Then solve the y Chebyshev polynomial using the Clenshaw algorithm
913  */
914  double const xPrime = (x + _offsetX) * _scaleX;
915  double const yPrime = (y + _offsetY) * _scaleY;
916 
917  const int nParams = static_cast<int>(this->_params.size());
918  const int order = this->_order;
919 
920  if (order == 0) {
921  return this->_params[0]; // No caching required
922  }
923 
924  if ((yPrime != _oldYPrime) || !this->_isCacheValid) {
925  // update cached _yCheby and _xCoeffs
926  _yCheby[0] = 1.0;
927  _yCheby[1] = yPrime;
928  for (int chebyInd = 2; chebyInd <= order; chebyInd++) {
929  _yCheby[chebyInd] = (2 * yPrime * _yCheby[chebyInd-1]) - _yCheby[chebyInd-2];
930  }
931 
932  for (int coeffInd=0; coeffInd <= order; coeffInd++) {
933  _xCoeffs[coeffInd] = 0;
934  }
935  for (int coeffInd = 0, endCoeffInd = 0, paramInd = 0; paramInd < nParams; paramInd++) {
936  _xCoeffs[coeffInd] += this->_params[paramInd] * _yCheby[endCoeffInd];
937  --coeffInd;
938  ++endCoeffInd;
939  if (coeffInd < 0) {
940  coeffInd = endCoeffInd;
941  endCoeffInd = 0;
942  }
943  }
944 
945  _oldYPrime = yPrime;
946  this->_isCacheValid = true;
947  }
948 
949  // Clenshaw function for solving the Chebyshev polynomial
950  // Non-recursive version from Kresimir Cosic
951  if (order == 1) {
952  return _xCoeffs[0] + (_xCoeffs[1] * xPrime);
953  }
954  double cshPrev = _xCoeffs[order];
955  double csh = (2 * xPrime * _xCoeffs[order]) + _xCoeffs[order-1];
956  for (int i = order - 2; i > 0; --i) {
957  double cshNext = (2 * xPrime * csh) + _xCoeffs[i] - cshPrev;
958  cshPrev = csh;
959  csh = cshNext;
960  }
961  return (xPrime * csh) + _xCoeffs[0] - cshPrev;
962  }
int y
int _order
order of polynomial
Definition: Function.h:492
double _offsetX
x&#39; = (x + _offsetX) * _scaleX
std::vector< double > _xCoeffs
working vector: transformed coeffs of x polynomial
double _scaleY
y&#39; = (y + _offsetY) * _scaleY
double _scaleX
x&#39; = (x + _offsetX) * _scaleX
double _offsetY
y&#39; = (y + _offsetY) * _scaleY
int x
std::vector< double > _yCheby
working vector: value of Tn(y&#39;)
std::vector< double > _params
Definition: Function.h:204
template<typename ReturnT>
template<class Archive >
void lsst.afw.math::Chebyshev1Function2< ReturnT >::serialize ( Archive &  ar,
unsigned int const  version 
)
inlineprivate

Definition at line 1021 of file FunctionLibrary.h.

1021  {
1022  ar & make_nvp("fn2", boost::serialization::base_object<BasePolynomialFunction2<ReturnT> >(*this));
1023  ar & make_nvp("minX", this->_minX);
1024  ar & make_nvp("minY", this->_minY);
1025  ar & make_nvp("maxX", this->_maxX);
1026  ar & make_nvp("maxY", this->_maxY);
1027  ar & make_nvp("scaleX", this->_scaleX);
1028  ar & make_nvp("scaleY", this->_scaleY);
1029  ar & make_nvp("offsetX", this->_offsetX);
1030  ar & make_nvp("offsetY", this->_offsetY);
1031  ar & make_nvp("xCheby", this->_yCheby); // sets size of _yCheby; name is historical
1032  _xCoeffs.resize(_yCheby.size());
1033  }
double _offsetX
x&#39; = (x + _offsetX) * _scaleX
std::vector< double > _xCoeffs
working vector: transformed coeffs of x polynomial
double _scaleY
y&#39; = (y + _offsetY) * _scaleY
double _maxY
maximum allowed y
double _scaleX
x&#39; = (x + _offsetX) * _scaleX
double _offsetY
y&#39; = (y + _offsetY) * _scaleY
double _maxX
maximum allowed x
double _minY
minimum allowed y
std::vector< double > _yCheby
working vector: value of Tn(y&#39;)
double _minX
minimum allowed x
template<typename ReturnT>
virtual std::string lsst.afw.math::Chebyshev1Function2< ReturnT >::toString ( std::string const &  ) const
inlinevirtual

Return a string representation of the function.

Returns
a string representation of the function

Reimplemented from lsst.afw.math::Function2< ReturnT >.

Definition at line 964 of file FunctionLibrary.h.

964  {
965  std::ostringstream os;
966  os << "Chebyshev1Function2 [";
967  os << this->_order << ", " << this->getXYRange() << "]";
968  os << Function2<ReturnT>::toString(prefix);
969  return os.str();
970  }
int _order
order of polynomial
Definition: Function.h:492
lsst::afw::geom::Box2D getXYRange() const
Get x,y range.
template<typename ReturnT>
virtual Chebyshev1Function2 lsst.afw.math::Chebyshev1Function2< ReturnT >::truncate ( int  truncOrder) const
inlinevirtual

Return a truncated copy of lower (or equal) order.

Exceptions
lsst::pex::exceptions::InvalidParameterif truncated order > original order
Parameters
truncOrderorder of truncated polynomial

Definition at line 887 of file FunctionLibrary.h.

889  {
890  if (truncOrder > this->_order) {
891  std::ostringstream os;
892  os << "truncated order=" << truncOrder << " must be <= original order=" << this->_order;
893  throw LSST_EXCEPT(lsst::pex::exceptions::InvalidParameterError, os.str());
894  }
895  int truncNParams = this->nParametersFromOrder(truncOrder);
896  std::vector<double> truncParams(this->_params.begin(), this->_params.begin() + truncNParams);
897  return Chebyshev1Function2(truncParams, this->getXYRange());
898  }
int _order
order of polynomial
Definition: Function.h:492
lsst::afw::geom::Box2D getXYRange() const
Get x,y range.
static int nParametersFromOrder(int order)
Compute number of parameters from polynomial order.
Definition: Function.h:431
#define LSST_EXCEPT(type,...)
Definition: Exception.h:46
std::vector< double > _params
Definition: Function.h:204
template<typename ReturnT>
virtual void lsst.afw.math::Chebyshev1Function2< ReturnT >::write ( afw::table::io::OutputArchiveHandle handle) const
protectedvirtual

Write the object to one or more catalogs.

The handle object passed to this function provides an interface for adding new catalogs and adding nested objects to the same archive (while checking for duplicates). See OutputArchiveHandle for more information.

Reimplemented from lsst.afw.table.io::Persistable.

Friends And Related Function Documentation

template<typename ReturnT>
friend class boost::serialization::access
friend

Definition at line 1019 of file FunctionLibrary.h.

Member Data Documentation

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_maxX
private

maximum allowed x

Definition at line 986 of file FunctionLibrary.h.

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_maxY
private

maximum allowed y

Definition at line 987 of file FunctionLibrary.h.

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_minX
private

minimum allowed x

Definition at line 984 of file FunctionLibrary.h.

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_minY
private

minimum allowed y

Definition at line 985 of file FunctionLibrary.h.

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_offsetX
private

x' = (x + _offsetX) * _scaleX

Definition at line 990 of file FunctionLibrary.h.

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_offsetY
private

y' = (y + _offsetY) * _scaleY

Definition at line 991 of file FunctionLibrary.h.

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_oldYPrime
mutableprivate

Definition at line 981 of file FunctionLibrary.h.

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_scaleX
private

x' = (x + _offsetX) * _scaleX

Definition at line 988 of file FunctionLibrary.h.

template<typename ReturnT>
double lsst.afw.math::Chebyshev1Function2< ReturnT >::_scaleY
private

y' = (y + _offsetY) * _scaleY

Definition at line 989 of file FunctionLibrary.h.

template<typename ReturnT>
std::vector<double> lsst.afw.math::Chebyshev1Function2< ReturnT >::_xCoeffs
mutableprivate

working vector: transformed coeffs of x polynomial

Definition at line 983 of file FunctionLibrary.h.

template<typename ReturnT>
std::vector<double> lsst.afw.math::Chebyshev1Function2< ReturnT >::_yCheby
mutableprivate

working vector: value of Tn(y')

Definition at line 982 of file FunctionLibrary.h.


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