|
lsst.shapelet gc794cbe0cf+0533d4fff9
|
A factory class for MatrixBuilder, providing more control over workspace memory. More...
#include <MatrixBuilder.h>
Public Types | |
| typedef MatrixBuilderWorkspace< T > | Workspace |
| Associated workspace class. | |
| typedef MatrixBuilder< T > | Builder |
| Associated builder class. | |
Public Member Functions | |
| MatrixBuilderFactory (ndarray::Array< T const, 1, 1 > const &x, ndarray::Array< T const, 1, 1 > const &y, int order) | |
| Create a MatrixBuilder that evaluates a simple non-compound shapelet basis. | |
| MatrixBuilderFactory (ndarray::Array< T const, 1, 1 > const &x, ndarray::Array< T const, 1, 1 > const &y, int order, ShapeletFunction const &psf) | |
| Create a MatrixBuilder that evaluates a simple non-compound shapelet basis after convolving it with a ShapeletFunction. | |
| MatrixBuilderFactory (ndarray::Array< T const, 1, 1 > const &x, ndarray::Array< T const, 1, 1 > const &y, MultiShapeletBasis const &basis) | |
| Create a MatrixBuilder that evaluates a MultiShapeletBasis object. | |
| MatrixBuilderFactory (ndarray::Array< T const, 1, 1 > const &x, ndarray::Array< T const, 1, 1 > const &y, MultiShapeletBasis const &basis, MultiShapeletFunction const &psf) | |
| Create a MatrixBuilder that evaluates a MultiShapeletBasis object after convolving it with a MultiShapeletFunction. | |
| int | getDataSize () const |
| Return the number of data points. | |
| int | getBasisSize () const |
| Return the number of basis elements. | |
| int | computeWorkspace () const |
| Return the size of the workspace needed for this MatrixBuilder, in elements of T. | |
| MatrixBuilder< T > | operator() () const |
| Return a new MatrixBuilder with internal, unshared workspace. | |
| MatrixBuilder< T > | operator() (Workspace &workspace) const |
| Return a new MatrixBuilder using the given workspace. | |
A factory class for MatrixBuilder, providing more control over workspace memory.
To allocate workspace manually for a MatrixBuilder, we use the following pattern:;
Because we aren't doing anything special with the workspace, however, this is actually exactly equivalent to just constructing the MatrixBuilder directly, i.e.:
A more interesting case is if we want to use the same workspace for a pair of MatrixBuilders:
Definition at line 265 of file MatrixBuilder.h.
| typedef MatrixBuilder<T> lsst::shapelet::MatrixBuilderFactory< T >::Builder |
Associated builder class.
Definition at line 269 of file MatrixBuilder.h.
| typedef MatrixBuilderWorkspace<T> lsst::shapelet::MatrixBuilderFactory< T >::Workspace |
Associated workspace class.
Definition at line 268 of file MatrixBuilder.h.
| lsst::shapelet::MatrixBuilderFactory< T >::MatrixBuilderFactory | ( | ndarray::Array< T const, 1, 1 > const & | x, |
| ndarray::Array< T const, 1, 1 > const & | y, | ||
| int | order ) |
Create a MatrixBuilder that evaluates a simple non-compound shapelet basis.
| [in] | x | column positions at which the basis should be evaluated. |
| [in] | y | row positions at which the basis should be evaluated (same size as x). |
| [in] | order | order of the shapelet basis |
| lsst::shapelet::MatrixBuilderFactory< T >::MatrixBuilderFactory | ( | ndarray::Array< T const, 1, 1 > const & | x, |
| ndarray::Array< T const, 1, 1 > const & | y, | ||
| int | order, | ||
| ShapeletFunction const & | psf ) |
Create a MatrixBuilder that evaluates a simple non-compound shapelet basis after convolving it with a ShapeletFunction.
| [in] | x | column positions at which the basis should be evaluated. |
| [in] | y | row positions at which the basis should be evaluated (same size as x). |
| [in] | order | order of the shapelet basis |
| [in] | psf | function to convolve the basis with |
| lsst::shapelet::MatrixBuilderFactory< T >::MatrixBuilderFactory | ( | ndarray::Array< T const, 1, 1 > const & | x, |
| ndarray::Array< T const, 1, 1 > const & | y, | ||
| MultiShapeletBasis const & | basis ) |
Create a MatrixBuilder that evaluates a MultiShapeletBasis object.
| [in] | x | column positions at which the basis should be evaluated. |
| [in] | y | row positions at which the basis should be evaluated (same size as x). |
| [in] | basis | basis object defining the functions the matrix evaluates |
| lsst::shapelet::MatrixBuilderFactory< T >::MatrixBuilderFactory | ( | ndarray::Array< T const, 1, 1 > const & | x, |
| ndarray::Array< T const, 1, 1 > const & | y, | ||
| MultiShapeletBasis const & | basis, | ||
| MultiShapeletFunction const & | psf ) |
Create a MatrixBuilder that evaluates a MultiShapeletBasis object after convolving it with a MultiShapeletFunction.
| [in] | x | column positions at which the basis should be evaluated. |
| [in] | y | row positions at which the basis should be evaluated (same size as x). |
| [in] | basis | basis object defining the functions the matrix evaluates |
| [in] | psf | function to convolve the basis with |
| int lsst::shapelet::MatrixBuilderFactory< T >::computeWorkspace | ( | ) | const |
Return the size of the workspace needed for this MatrixBuilder, in elements of T.
| int lsst::shapelet::MatrixBuilderFactory< T >::getBasisSize | ( | ) | const |
Return the number of basis elements.
| int lsst::shapelet::MatrixBuilderFactory< T >::getDataSize | ( | ) | const |
Return the number of data points.
| MatrixBuilder< T > lsst::shapelet::MatrixBuilderFactory< T >::operator() | ( | ) | const |
Return a new MatrixBuilder with internal, unshared workspace.
| MatrixBuilder< T > lsst::shapelet::MatrixBuilderFactory< T >::operator() | ( | Workspace & | workspace | ) | const |
Return a new MatrixBuilder using the given workspace.