Go to the documentation of this file.
28 #ifndef SCIMATH_GAUSSIAN3D_H
29 #define SCIMATH_GAUSSIAN3D_H
31 #include <casacore/casa/aips.h>
32 #include <casacore/scimath/Functionals/Gaussian3DParam.h>
33 #include <casacore/scimath/Functionals/Function.h>
34 #include <casacore/scimath/Mathematics/AutoDiff.h>
35 #include <casacore/scimath/Mathematics/AutoDiffMath.h>
39 template<
class T>
class Vector;
223 #define Gaussian3D_PS Gaussian3D
263 *cloneNonAD()
const {
302 #ifndef CASACORE_NO_AUTO_TEMPLATES
303 #include <casacore/scimath/Functionals/Gaussian3D.tcc>
304 #include <casacore/scimath/Functionals/Gaussian3D2.tcc>
305 #endif //# CASACORE_NO_AUTO_TEMPLATES
#define Gaussian3D_PS
AUTODIFF SPECIALIZATION.
Gaussian3D_PS(const Gaussian3D_PS< AutoDiff< T > > &other)
Gaussian3D(T height, const Vector< T > ¢er, const Vector< T > &width, T theta, T phi)
Class that computes partial derivatives by automatic differentiation.
Gaussian3D_PS(const AutoDiff< T > &height, const Vector< AutoDiff< T > > ¢er, const Vector< AutoDiff< T > > &width, const AutoDiff< T > &theta, const AutoDiff< T > &phi)
PtrHolder< T > & operator=(const PtrHolder< T > &other)
virtual T eval(typename Function< T >::FunctionArg x) const
Evaluate the Gaussian at x.
virtual Function< T > * clone() const
Return a copy of this object from the heap.
Gaussian3D_PS(AutoDiff< T > &height, AutoDiff< T > &xCenter, AutoDiff< T > &yCenter, AutoDiff< T > &zCenter, AutoDiff< T > &xWidth, AutoDiff< T > &yWidth, AutoDiff< T > &zWidth, AutoDiff< T > &theta, AutoDiff< T > &phi)
virtual AutoDiff< T > eval(typename Function< AutoDiff< T > >::FunctionArg x) const
Gaussian3D_PS< AutoDiff< T > > & operator=(const Gaussian3D_PS< AutoDiff< T > > &other)
Parameter handling for 3 dimensional Gaussian class.
Gaussian3D()
A functional for a rotated, 3D Gaussian.
Vector< T > width() const
Get or set the sigma-width of the Gaussian.
Vector< T > center() const
Get or cet the center coordinates of the Gaussian.
Gaussian3D(const Gaussian3D< T > &other)
Copy constructor.
A three dimensional Gaussian class.
virtual Function< typename FunctionTraits< AutoDiff< T > >::BaseType > * cloneNonAD() const
T sq(T v) const
AutoDiff does not have a square() function, so one is provided here.
this file contains all the compiler specific defines
Gaussian3D(const Gaussian3D< W > &other)
Gaussian3D(T &height, T &xCenter, T &yCenter, T &zCenter, T &xWidth, T &yWidth, T &zWidth, T &theta, T &phi)
virtual Function< typename FunctionTraits< AutoDiff< T > >::DiffType > * cloneAD() const
virtual ~Gaussian3D()
Destructor.
Numerical functional interface class.
T height() const
Get or set the peak height of the Gaussian.
virtual Function< AutoDiff< T > > * clone() const
Gaussian3D_PS(const Gaussian3D_PS< W > &other)
A 1-D Specialization of the Array class.
virtual Function< typename FunctionTraits< T >::BaseType > * cloneNonAD() const
virtual Function< typename FunctionTraits< T >::DiffType > * cloneAD() const
T theta() const
Get or set the rotation angles of the Gaussian.
Gaussian3D< T > & operator=(const Gaussian3D< T > &other)
Assignment operator.