casacore
Loading...
Searching...
No Matches
casacore::Gaussian2D_PS< AutoDiff< T > > Class Template Reference

Partial specialization of Gaussian2D for AutoDiff. More...

#include <Gaussian2D.h>

Public Member Functions

 Gaussian2D_PS ()
 Constructs two dimensional Gaussians.
 Gaussian2D_PS (const AutoDiff< T > &height, const Vector< AutoDiff< T > > &center, const Vector< AutoDiff< T > > &width, const AutoDiff< T > &pa)
 Gaussian2D_PS (const AutoDiff< T > &height, const AutoDiff< T > &xCenter, const AutoDiff< T > &yCenter, const AutoDiff< T > &majorAxis, const AutoDiff< T > &axialRatio, const AutoDiff< T > &pa)
 Gaussian2D_PS (const Gaussian2D_PS &other)
 Copy constructor (deep copy).
template<class W>
 Gaussian2D_PS (const Gaussian2D_PS< W > &other)
Gaussian2D_PS< AutoDiff< T > > & operator= (const Gaussian2D_PS< AutoDiff< T > > &other)
 Copy assignment (deep copy).
virtual ~Gaussian2D_PS ()
 Destructor.
virtual AutoDiff< T > eval (typename Function< AutoDiff< T > >::FunctionArg x) const
 Evaluate the Gaussian and its derivatives at x.
virtual Function< AutoDiff< T > > * clone () const
 Return a copy of this object from the heap.
virtual Function< typename FunctionTraits< AutoDiff< T > >::DiffType > * cloneAD () const
virtual Function< typename FunctionTraits< AutoDiff< T > >::BaseType > * cloneNonAD () const
Public Member Functions inherited from casacore::Gaussian2DParam< AutoDiff< T > >
 Gaussian2DParam ()
 Constructs the two dimensional Gaussians.
Gaussian2DParam< T > & operator= (const Gaussian2DParam< T > &other)
 Copy assignment (deep copy).
virtual ~Gaussian2DParam ()
 Destructor.
virtual uInt ndim () const
 Variable dimensionality.
virtual const String & name () const
 Give name of function.
T height () const
 Get or set the peak height of the Gaussian.
void setHeight (const T &height)
T flux () const
 Get or set the analytical integrated area underneath the Gaussian.
void setFlux (const T &flux)
Vector< T > center () const
 Get or set the center ordinate of the Gaussian.
void setCenter (const Vector< T > &center)
T xCenter () const
void setXcenter (const T &cnter)
T yCenter () const
void setYcenter (const T &cnter)
Vector< T > width () const
 Set or get the FWHM of the Gaussian.
void setWidth (const Vector< T > &width)
T majorAxis () const
void setMajorAxis (const T &width)
T minorAxis () const
void setMinorAxis (const T &width)
T axialRatio () const
void setAxialRatio (const T &axialRatio)
T PA () const
 Set/get the rotation angle (orientation) of the Gaussian.
void setPA (const T &pa)
Public Member Functions inherited from casacore::Function< T, U >
 Function ()
 Constructors.
 Function (const uInt n)
 Function (const Vector< T > &in)
 Function (const FunctionParam< T > &other)
template<class W, class X>
 Function (const Function< W, X > &other)
virtual ~Function ()
 Destructor.
uInt nparameters () const
 Returns the number of parameters.
virtual U eval (FunctionArg x) const =0
 Evaluate the function object.
T & operator[] (const uInt n)
 Manipulate the nth parameter (0-based) with no index check.
const T & operator[] (const uInt n) const
virtual U operator() () const
 Evaluate this function object at xor at x, y.
virtual U operator() (const ArgType &x) const
virtual U operator() (const Vector< ArgType > &x) const
virtual U operator() (FunctionArg x) const
virtual U operator() (const ArgType &x, const ArgType &y) const
virtual U operator() (const ArgType &x, const ArgType &y, const ArgType &z) const
Bool & mask (const uInt n)
 Manipulate the mask associated with the nth parameter (e.g.
const Bool & mask (const uInt n) const
const FunctionParam< T > & parameters () const
 Return the parameter interface.
FunctionParam< T > & parameters ()
const Vector< ArgType > & argp () const
 Get arg_p and parset_p.
Bool parsetp () const
void lockParam ()
 Compiler cannot always find the correct 'const' version of parameter access.
void unlockParam ()
virtual void setMode (const RecordInterface &mode)
 get/set the function mode.
virtual void getMode (RecordInterface &mode) const
virtual Bool hasMode () const
 return True if the implementing function supports a mode.
ostream & print (ostream &os) const
 Print the function (i.e.
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T >
virtual ~Functional ()
 Destructor.
virtual T operator() (const FunctionTraits< T >::ArgType &x) const=0
 Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
virtual ~Functional ()
 Destructor.
virtual T operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0
 Map a Domain x into a Range y value.

Additional Inherited Members

Public Types inherited from casacore::Gaussian2DParam< AutoDiff< T > >
enum  
Public Types inherited from casacore::Function< T, U >
typedef FunctionTraits< T >::ArgType ArgType
typedef const ArgType * FunctionArg
Protected Attributes inherited from casacore::Gaussian2DParam< AutoDiff< T > >
T fwhm2int
 Constant to scale halfwidth at 1/e to FWHM.
T thePA
 cached vale of the PA
T theSpa
 cached values of the cos and sine of thePA
T theCpa
T theXwidth
 cached vale of the Xwidth = ratio*theYwidth;
Protected Attributes inherited from casacore::Function< T, U >
FunctionParam< T > param_p
 The parameters and masks.
Vector< ArgType > arg_p
 Aid for non-contiguous argument storage.
Bool parset_p
 Indicate parameter written.
Bool locked_p
 Indicate that parameters are expected to be locked from changing.

Detailed Description

template<class T>
class casacore::Gaussian2D_PS< AutoDiff< T > >

Partial specialization of Gaussian2D for AutoDiff.

Synopsis


Warning: The name Gaussian2D_PS is only for cxx2html documentation problems; Use Gaussian2D in your code;

Definition at line 254 of file Gaussian2D.h.

Constructor & Destructor Documentation

◆ Gaussian2D_PS() [1/5]

template<class T>
casacore::Gaussian2D_PS< AutoDiff< T > >::Gaussian2D_PS ( )
inline

Constructs two dimensional Gaussians.

Definition at line 261 of file Gaussian2D.h.

References casacore::Gaussian2DParam< AutoDiff< T > >::Gaussian2DParam().

Referenced by Gaussian2D_PS(), Gaussian2D_PS(), and operator=().

◆ Gaussian2D_PS() [2/5]

template<class T>
casacore::Gaussian2D_PS< AutoDiff< T > >::Gaussian2D_PS ( const AutoDiff< T > & height,
const Vector< AutoDiff< T > > & center,
const Vector< AutoDiff< T > > & width,
const AutoDiff< T > & pa )
inline

◆ Gaussian2D_PS() [3/5]

◆ Gaussian2D_PS() [4/5]

template<class T>
casacore::Gaussian2D_PS< AutoDiff< T > >::Gaussian2D_PS ( const Gaussian2D_PS< AutoDiff< T > > & other)
inline

Copy constructor (deep copy).

Definition at line 276 of file Gaussian2D.h.

References Gaussian2D_PS(), and casacore::Gaussian2DParam< AutoDiff< T > >::Gaussian2DParam().

◆ Gaussian2D_PS() [5/5]

template<class T>
template<class W>
casacore::Gaussian2D_PS< AutoDiff< T > >::Gaussian2D_PS ( const Gaussian2D_PS< W > & other)
inline

◆ ~Gaussian2D_PS()

template<class T>
virtual casacore::Gaussian2D_PS< AutoDiff< T > >::~Gaussian2D_PS ( )
inlinevirtual

Destructor.

Definition at line 289 of file Gaussian2D.h.

Member Function Documentation

◆ clone()

template<class T>
virtual Function< AutoDiff< T > > * casacore::Gaussian2D_PS< AutoDiff< T > >::clone ( ) const
inlinevirtual

Return a copy of this object from the heap.

The caller is responsible for deleting this pointer.

Implements casacore::Function< T, U >.

Definition at line 301 of file Gaussian2D.h.

◆ cloneAD()

template<class T>
virtual Function< typename FunctionTraits< AutoDiff< T > >::DiffType > * casacore::Gaussian2D_PS< AutoDiff< T > >::cloneAD ( ) const
inlinevirtual

Reimplemented from casacore::Function< T, U >.

Definition at line 304 of file Gaussian2D.h.

◆ cloneNonAD()

template<class T>
virtual Function< typename FunctionTraits< AutoDiff< T > >::BaseType > * casacore::Gaussian2D_PS< AutoDiff< T > >::cloneNonAD ( ) const
inlinevirtual

Reimplemented from casacore::Function< T, U >.

Definition at line 308 of file Gaussian2D.h.

◆ eval()

template<class T>
virtual AutoDiff< T > casacore::Gaussian2D_PS< AutoDiff< T > >::eval ( typename Function< AutoDiff< T > >::FunctionArg x) const
virtual

Evaluate the Gaussian and its derivatives at x.

◆ operator=()

template<class T>
Gaussian2D_PS< AutoDiff< T > > & casacore::Gaussian2D_PS< AutoDiff< T > >::operator= ( const Gaussian2D_PS< AutoDiff< T > > & other)
inline

Copy assignment (deep copy).

Definition at line 285 of file Gaussian2D.h.

References Gaussian2D_PS(), and casacore::Gaussian2DParam< AutoDiff< T > >::Gaussian2DParam().


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