LSST Applications g0000d66e7c+4a51730b0a,g0485b4d2cb+be65c9c1d7,g0fba68d861+f95c35e0c3,g1ec0fe41b4+3ea9d11450,g1fd858c14a+41d169aaf2,g2440f9efcc+8c5ae1fdc5,g35bb328faa+8c5ae1fdc5,g4d2262a081+30937b6477,g53246c7159+8c5ae1fdc5,g55585698de+c657de43f9,g56a49b3a55+7eddd92ad8,g60b5630c4e+c657de43f9,g67b6fd64d1+97cc007aa2,g78460c75b0+7e33a9eb6d,g786e29fd12+668abc6043,g7ac00fbb6c+9304e3655a,g8352419a5c+8c5ae1fdc5,g8852436030+3f3bba821f,g89139ef638+97cc007aa2,g94187f82dc+c657de43f9,g989de1cb63+97cc007aa2,g9d31334357+c657de43f9,g9f33ca652e+06d39d8afb,ga815be3f0b+8e7c4d07ad,gabe3b4be73+8856018cbb,gabf8522325+977d9fabaf,gb1101e3267+12c96a40b1,gb89ab40317+97cc007aa2,gc91f06edcd+2ffb87f22b,gcf25f946ba+3f3bba821f,gd6cbbdb0b4+1cc2750d2e,gde0f65d7ad+bbe98f05bf,ge278dab8ac+6b863515ed,ge410e46f29+97cc007aa2,gf35d7ec915+97dd712d81,gf5e32f922b+8c5ae1fdc5,gf67bdafdda+97cc007aa2,gf6800124b1+bb7d8e732a,w.2025.19
LSST Data Management Base Package
|
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.